---
Fuzzer filename: '/src/pupnp/fuzzer/FuzzHttp.c'
All functions:
  Function list name: All functions
  Elements:
    - functionName:    LLVMFuzzerTestOneInput
      functionSourceFile: '/src/pupnp/fuzzer/FuzzHttp.c'
      linkageType:     externalLinkage
      functionLinenumber: 6
      functionLinenumberEnd: 29
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          61
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - httpmsg_destroy
        - parser_append
        - parser_request_init
        - parser_response_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'fuzzer/FuzzHttp.c:20,3'
          Dst:             parser_response_init
        - Src:             'fuzzer/FuzzHttp.c:22,3'
          Dst:             parser_request_init
        - Src:             'fuzzer/FuzzHttp.c:25,2'
          Dst:             parser_append
        - Src:             'fuzzer/FuzzHttp.c:27,2'
          Dst:             httpmsg_destroy
    - functionName:    is_control_char
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 183
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          32
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_separator_char
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strchr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:156,9'
          Dst:             strchr
    - functionName:    strchr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_qdtext_char
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 197
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          76
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:199,2'
          Dst:             __assert_fail
    - functionName:    __assert_fail
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    173
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_identifier_char
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 170
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          40
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - is_separator_char
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:170,33'
          Dst:             is_separator_char
    - functionName:    skip_lws
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 561
      functionLinenumberEnd: 597
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          109
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - scanner_get_token
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:573,12'
          Dst:             scanner_get_token
        - Src:             'upnp/src/genlib/net/http/httpparser.c:577,14'
          Dst:             scanner_get_token
    - functionName:    scanner_get_token
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 225
      functionLinenumberEnd: 331
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         91
      ICount:          491
      EdgeCount:       117
      CyclomaticComplexity: 28
      functionsReached:
        - __assert_fail
        - is_control_char
        - is_identifier_char
        - is_qdtext_char
        - is_separator_char
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:232,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:233,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:234,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:243,6'
          Dst:             is_identifier_char
        - Src:             'upnp/src/genlib/net/http/httpparser.c:247,38'
          Dst:             is_identifier_char
        - Src:             'upnp/src/genlib/net/http/httpparser.c:302,15'
          Dst:             is_qdtext_char
        - Src:             'upnp/src/genlib/net/http/httpparser.c:312,4'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:315,13'
          Dst:             is_separator_char
        - Src:             'upnp/src/genlib/net/http/httpparser.c:320,13'
          Dst:             is_control_char
    - functionName:    match_char
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 878
      functionLinenumberEnd: 893
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          81
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - tolower
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:890,10'
          Dst:             tolower
        - Src:             'upnp/src/genlib/net/http/httpparser.c:890,24'
          Dst:             tolower
    - functionName:    tolower
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    read_until_crlf
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 833
      functionLinenumberEnd: 856
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          82
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - scanner_get_str
        - scanner_get_token
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:840,13'
          Dst:             scanner_get_str
        - Src:             'upnp/src/genlib/net/http/httpparser.c:844,12'
          Dst:             scanner_get_token
    - functionName:    scanner_get_str
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 346
      functionLinenumberEnd: 347
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    match_non_ws_string
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 619
      functionLinenumberEnd: 662
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         28
      ICount:          154
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - scanner_get_str
        - scanner_get_token
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:629,13'
          Dst:             scanner_get_str
        - Src:             'upnp/src/genlib/net/http/httpparser.c:632,12'
          Dst:             scanner_get_token
    - functionName:    match_int
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 779
      functionLinenumberEnd: 812
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          132
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - scanner_get_token
        - strtol
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:788,11'
          Dst:             scanner_get_token
        - Src:             'upnp/src/genlib/net/http/httpparser.c:791,4'
          Dst:             __errno_location
        - Src:             'upnp/src/genlib/net/http/httpparser.c:792,10'
          Dst:             strtol
        - Src:             'upnp/src/genlib/net/http/httpparser.c:797,7'
          Dst:             __errno_location
    - functionName:    __errno_location
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    47
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strtol
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    match_raw_value
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 685
      functionLinenumberEnd: 755
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         34
      ICount:          197
      EdgeCount:       45
      CyclomaticComplexity: 13
      functionsReached:
        - scanner_get_str
        - scanner_get_token
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:698,19'
          Dst:             scanner_get_str
        - Src:             'upnp/src/genlib/net/http/httpparser.c:702,12'
          Dst:             scanner_get_token
    - functionName:    print_http_headers
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2233
      functionLinenumberEnd: 2283
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          112
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ListHead
        - ListNext
        - UpnpPrintf
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2240,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2251,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2265,9'
          Dst:             ListHead
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2270,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2280,10'
          Dst:             ListNext
    - functionName:    method_to_str
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2220
      functionLinenumberEnd: 2228
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          45
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - map_int_to_str
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2223,10'
          Dst:             map_int_to_str
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2226,2'
          Dst:             __assert_fail
    - functionName:    parser_append
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2114
      functionLinenumberEnd: 2129
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          64
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - membuffer_append
        - parser_parse
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2117,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2118,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2121,13'
          Dst:             membuffer_append
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2128,9'
          Dst:             parser_parse
    - functionName:    parser_parse
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2054
      functionLinenumberEnd: 2091
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          76
      EdgeCount:       31
      CyclomaticComplexity: 17
      functionsReached:
        - __assert_fail
        - parser_parse_entity
        - parser_parse_headers
        - parser_parse_request_line
        - parser_parse_responseline
      functionUses:    2
      BranchProfiles:
        - Branch String:   'upnp/src/genlib/net/http/httpparser.c:2062,3'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2059,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2064,13'
          Dst:             parser_parse_entity
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2069,13'
          Dst:             parser_parse_headers
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2074,13'
          Dst:             parser_parse_request_line
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2079,13'
          Dst:             parser_parse_responseline
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2085,4'
          Dst:             __assert_fail
    - functionName:    parser_parse_entity
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1957
      functionLinenumberEnd: 1995
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          93
      EdgeCount:       35
      CyclomaticComplexity: 19
      functionsReached:
        - __assert_fail
        - parser_get_entity_read_method
        - parser_parse_chunky_body
        - parser_parse_chunky_entity
        - parser_parse_chunky_headers
        - parser_parse_entity_until_close
        - parser_parse_entity_using_clen
      functionUses:    5
      BranchProfiles:
        - Branch String:   'upnp/src/genlib/net/http/httpparser.c:1963,3'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1960,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1965,13'
          Dst:             parser_parse_entity_using_clen
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1969,13'
          Dst:             parser_parse_chunky_entity
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1973,13'
          Dst:             parser_parse_chunky_body
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1977,13'
          Dst:             parser_parse_chunky_headers
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1981,13'
          Dst:             parser_parse_entity_until_close
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1985,13'
          Dst:             parser_get_entity_read_method
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1990,4'
          Dst:             __assert_fail
    - functionName:    parser_parse_headers
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1470
      functionLinenumberEnd: 1604
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         53
      ICount:          390
      EdgeCount:       68
      CyclomaticComplexity: 17
      functionsReached:
        - ListAddTail
        - __assert_fail
        - httpmsg_find_hdr
        - httpmsg_find_hdr_str
        - map_str_to_int
        - match
        - membuffer_append
        - membuffer_append_str
        - membuffer_assign
        - membuffer_destroy
        - membuffer_init
        - scanner_get_token
      functionUses:    4
      BranchProfiles:
        - Branch String:   'upnp/src/genlib/net/http/httpparser.c:1498,3'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1486,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1492,12'
          Dst:             scanner_get_token
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1517,12'
          Dst:             match
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1525,11'
          Dst:             map_str_to_int
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1537,5'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1543,5'
          Dst:             httpmsg_find_hdr_str
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1554,4'
          Dst:             membuffer_init
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1555,4'
          Dst:             membuffer_init
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1562,8'
          Dst:             membuffer_assign
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1565,5'
          Dst:             membuffer_assign
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1569,5'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1570,5'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1579,9'
          Dst:             ListAddTail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1580,5'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1581,5'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1590,10'
          Dst:             membuffer_append_str
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1592,11'
          Dst:             membuffer_append
    - functionName:    parser_parse_request_line
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1241
      functionLinenumberEnd: 1369
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         55
      ICount:          405
      EdgeCount:       76
      CyclomaticComplexity: 23
      functionsReached:
        - __assert_fail
        - __isoc99_sscanf
        - map_str_to_int
        - match
        - parse_uri
        - skip_blank_lines
        - str_alloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1251,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1253,11'
          Dst:             skip_blank_lines
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1259,11'
          Dst:             match
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1263,11'
          Dst:             map_str_to_int
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1289,20'
          Dst:             str_alloc
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1295,7'
          Dst:             parse_uri
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1305,11'
          Dst:             match
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1320,19'
          Dst:             str_alloc
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1326,6'
          Dst:             parse_uri
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1331,10'
          Dst:             map_str_to_int
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1348,16'
          Dst:             __isoc99_sscanf
    - functionName:    parser_parse_responseline
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1386
      functionLinenumberEnd: 1452
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         43
      ICount:          283
      EdgeCount:       57
      CyclomaticComplexity: 16
      functionsReached:
        - __assert_fail
        - __ctype_b_loc
        - __isoc99_sscanf
        - match
        - membuffer_assign
        - skip_blank_lines
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1396,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1398,11'
          Dst:             skip_blank_lines
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1405,11'
          Dst:             match
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1414,16'
          Dst:             __isoc99_sscanf
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1430,11'
          Dst:             __ctype_b_loc
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1433,10'
          Dst:             __ctype_b_loc
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1444,6'
          Dst:             membuffer_assign
    - functionName:    skip_blank_lines
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 526
      functionLinenumberEnd: 542
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          72
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - scanner_get_token
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:533,12'
          Dst:             scanner_get_token
    - functionName:    match
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1139
      functionLinenumberEnd: 1147
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - vfmatch
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1144,13'
          Dst:             vfmatch
    - functionName:    __isoc99_sscanf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __ctype_b_loc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    vfmatch
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 952
      functionLinenumberEnd: 1118
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         133
      ICount:          723
      EdgeCount:       158
      CyclomaticComplexity: 27
      functionsReached:
        - __assert_fail
        - match_char
        - match_int
        - match_non_ws_string
        - match_raw_value
        - parse_uri
        - read_until_crlf
        - scanner_get_token
        - skip_lws
      functionUses:    2
      BranchProfiles:
        - Branch String:   'upnp/src/genlib/net/http/httpparser.c:977,4'
          Branch Sides:    []
        - Branch String:   'upnp/src/genlib/net/http/httpparser.c:1092,4'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:967,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:968,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:980,5'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:981,14'
          Dst:             match_raw_value
        - Src:             'upnp/src/genlib/net/http/httpparser.c:985,5'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:986,14'
          Dst:             scanner_get_token
        - Src:             'upnp/src/genlib/net/http/httpparser.c:996,14'
          Dst:             scanner_get_token
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1007,5'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1009,14'
          Dst:             match_int
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1018,5'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1019,14'
          Dst:             match_non_ws_string
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1023,6'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1024,13'
          Dst:             parse_uri
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1034,5'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1035,14'
          Dst:             read_until_crlf
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1039,14'
          Dst:             match_char
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1049,14'
          Dst:             scanner_get_token
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1060,14'
          Dst:             scanner_get_token
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1072,5'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1089,5'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1094,14'
          Dst:             skip_lws
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1097,14'
          Dst:             scanner_get_token
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1108,14'
          Dst:             match_char
    - functionName:    httpmsg_find_hdr
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 493
      functionLinenumberEnd: 510
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          69
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ListFind
      functionUses:    44
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:499,9'
          Dst:             ListFind
    - functionName:    httpmsg_find_hdr_str
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 457
      functionLinenumberEnd: 474
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ListHead
        - ListNext
        - memptr_cmp_nocase
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:462,9'
          Dst:             ListHead
        - Src:             'upnp/src/genlib/net/http/httpparser.c:467,7'
          Dst:             memptr_cmp_nocase
        - Src:             'upnp/src/genlib/net/http/httpparser.c:471,10'
          Dst:             ListNext
    - functionName:    parser_parse_entity_using_clen
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1620
      functionLinenumberEnd: 1652
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          131
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1623,2'
          Dst:             __assert_fail
    - functionName:    parser_parse_chunky_entity
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1758
      functionLinenumberEnd: 1798
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          112
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - UpnpPrintf
        - __assert_fail
        - match
        - membuffer_delete
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1764,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1769,11'
          Dst:             match
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1772,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1780,2'
          Dst:             membuffer_delete
    - functionName:    parser_parse_chunky_body
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1670
      functionLinenumberEnd: 1699
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          109
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - match
        - membuffer_delete
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1681,12'
          Dst:             match
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1688,3'
          Dst:             membuffer_delete
    - functionName:    parser_parse_chunky_headers
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1717
      functionLinenumberEnd: 1740
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          73
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - membuffer_delete
        - parser_parse_headers
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1722,11'
          Dst:             parser_parse_headers
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1727,3'
          Dst:             membuffer_delete
    - functionName:    parser_parse_entity_until_close
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1813
      functionLinenumberEnd: 1831
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          69
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1816,2'
          Dst:             __assert_fail
    - functionName:    parser_get_entity_read_method
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1848
      functionLinenumberEnd: 1939
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         50
      ICount:          271
      EdgeCount:       64
      CyclomaticComplexity: 16
      functionsReached:
        - UpnpPrintf
        - __assert_fail
        - httpmsg_find_hdr
        - raw_find_str
        - raw_to_int
        - scanner_get_str
      functionUses:    3
      BranchProfiles:
        - Branch String:   'upnp/src/genlib/net/http/httpparser.c:1867,3'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1853,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1856,27'
          Dst:             scanner_get_str
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1903,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1904,7'
          Dst:             raw_find_str
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1907,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1917,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1919,18'
          Dst:             raw_to_int
    - functionName:    raw_find_str
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2177
      functionLinenumberEnd: 2205
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          111
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - strstr
        - tolower
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2187,29'
          Dst:             tolower
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2194,8'
          Dst:             strstr
    - functionName:    raw_to_int
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2144
      functionLinenumberEnd: 2160
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          95
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - strtoll
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2150,2'
          Dst:             __errno_location
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2151,8'
          Dst:             strtoll
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2156,27'
          Dst:             __errno_location
    - functionName:    strtoll
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strstr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    31
      BranchProfiles:  []
      Callsites:       []
    - functionName:    parser_response_init
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2029
      functionLinenumberEnd: 2035
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - parser_init
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2030,2'
          Dst:             parser_init
    - functionName:    parser_init
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1214
      functionLinenumberEnd: 1223
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - httpmsg_init
        - scanner_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1221,2'
          Dst:             httpmsg_init
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1222,2'
          Dst:             scanner_init
    - functionName:    httpmsg_init
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 406
      functionLinenumberEnd: 413
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ListInit
        - httpheader_free
        - httpmsg_compare
        - membuffer_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:410,2'
          Dst:             ListInit
        - Src:             'upnp/src/genlib/net/http/httpparser.c:410,2'
          Dst:             httpmsg_compare
        - Src:             'upnp/src/genlib/net/http/httpparser.c:410,2'
          Dst:             httpheader_free
        - Src:             'upnp/src/genlib/net/http/httpparser.c:411,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/genlib/net/http/httpparser.c:412,2'
          Dst:             membuffer_init
    - functionName:    scanner_init
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    httpmsg_compare
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 364
      functionLinenumberEnd: 369
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          45
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:365,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:366,2'
          Dst:             __assert_fail
    - functionName:    httpheader_free
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 385
      functionLinenumberEnd: 391
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - membuffer_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:388,2'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/genlib/net/http/httpparser.c:389,2'
          Dst:             membuffer_destroy
    - functionName:    parser_request_init
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2010
      functionLinenumberEnd: 2014
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - parser_init
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:2011,2'
          Dst:             parser_init
    - functionName:    matchstr
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1169
      functionLinenumberEnd: 1199
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          52
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - membuffer_attach
        - membuffer_init
        - scanner_init
        - vfmatch
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1180,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1185,2'
          Dst:             membuffer_attach
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1187,2'
          Dst:             scanner_init
        - Src:             'upnp/src/genlib/net/http/httpparser.c:1191,13'
          Dst:             vfmatch
    - functionName:    httpmsg_destroy
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 428
      functionLinenumberEnd: 438
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          52
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - ListDestroy
        - __assert_fail
        - membuffer_destroy
      functionUses:    27
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpparser.c:429,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpparser.c:432,3'
          Dst:             ListDestroy
        - Src:             'upnp/src/genlib/net/http/httpparser.c:433,3'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/genlib/net/http/httpparser.c:434,3'
          Dst:             membuffer_destroy
    - functionName:    is_reserved
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/uri/uri.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/uri/uri.c:79,6'
          Dst:             strchr
    - functionName:    parse_uric
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/uri/uri.c'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          98
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - is_escaped
        - is_reserved
        - is_unreserved
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/uri/uri.c:192,4'
          Dst:             is_unreserved
        - Src:             'upnp/src/genlib/net/uri/uri.c:192,28'
          Dst:             is_reserved
        - Src:             'upnp/src/genlib/net/uri/uri.c:193,30'
          Dst:             is_escaped
    - functionName:    is_unreserved
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/uri/uri.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - __ctype_b_loc
        - is_mark
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/uri/uri.c:113,6'
          Dst:             __ctype_b_loc
        - Src:             'upnp/src/genlib/net/uri/uri.c:113,21'
          Dst:             is_mark
    - functionName:    is_escaped
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/uri/uri.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          69
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - __ctype_b_loc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/uri/uri.c:132,22'
          Dst:             __ctype_b_loc
        - Src:             'upnp/src/genlib/net/uri/uri.c:132,41'
          Dst:             __ctype_b_loc
    - functionName:    is_mark
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/uri/uri.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/uri/uri.c:96,6'
          Dst:             strchr
    - functionName:    parse_hostport
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/uri/uri.c'
      linkageType:     InternalLinkage
      functionLinenumber: 327
      functionLinenumberEnd: 462
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         82
      ICount:          537
      EdgeCount:       105
      CyclomaticComplexity: 25
      functionsReached:
        - __ctype_b_loc
        - atoi
        - freeaddrinfo
        - getaddrinfo
        - htons
        - inet_pton
        - strncpy
        - strtol
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/genlib/net/uri/uri.c:389,6'
          Branch Sides:    []
        - Branch String:   'upnp/src/genlib/net/uri/uri.c:434,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/genlib/net/uri/uri.c:344,2'
          Dst:             strncpy
        - Src:             'upnp/src/genlib/net/uri/uri.c:365,5'
          Dst:             __ctype_b_loc
        - Src:             'upnp/src/genlib/net/uri/uri.c:375,27'
          Dst:             __ctype_b_loc
        - Src:             'upnp/src/genlib/net/uri/uri.c:386,10'
          Dst:             getaddrinfo
        - Src:             'upnp/src/genlib/net/uri/uri.c:401,5'
          Dst:             freeaddrinfo
        - Src:             'upnp/src/genlib/net/uri/uri.c:415,24'
          Dst:             __ctype_b_loc
        - Src:             'upnp/src/genlib/net/uri/uri.c:418,17'
          Dst:             strtol
        - Src:             'upnp/src/genlib/net/uri/uri.c:422,30'
          Dst:             atoi
        - Src:             'upnp/src/genlib/net/uri/uri.c:437,20'
          Dst:             htons
        - Src:             'upnp/src/genlib/net/uri/uri.c:438,9'
          Dst:             inet_pton
        - Src:             'upnp/src/genlib/net/uri/uri.c:442,21'
          Dst:             htons
        - Src:             'upnp/src/genlib/net/uri/uri.c:444,9'
          Dst:             inet_pton
        - Src:             'upnp/src/genlib/net/uri/uri.c:450,21'
          Dst:             htons
        - Src:             'upnp/src/genlib/net/uri/uri.c:452,22'
          Dst:             htons
    - functionName:    strncpy
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    46
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getaddrinfo
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    freeaddrinfo
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    atoi
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    htons
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    24
      BranchProfiles:  []
      Callsites:       []
    - functionName:    inet_pton
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    32
      BranchProfiles:  []
      Callsites:       []
    - functionName:    parse_scheme
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/uri/uri.c'
      linkageType:     InternalLinkage
      functionLinenumber: 481
      functionLinenumberEnd: 504
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          170
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - __ctype_b_loc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/uri/uri.c:487,30'
          Dst:             __ctype_b_loc
        - Src:             'upnp/src/genlib/net/uri/uri.c:492,9'
          Dst:             __ctype_b_loc
    - functionName:    parse_uri
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/uri/uri.c'
      linkageType:     InternalLinkage
      functionLinenumber: 745
      functionLinenumberEnd: 794
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          243
      EdgeCount:       42
      CyclomaticComplexity: 12
      functionsReached:
        - parse_hostport
        - parse_scheme
        - parse_uric
        - token_string_casecmp
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/uri/uri.c:751,19'
          Dst:             parse_scheme
        - Src:             'upnp/src/genlib/net/uri/uri.c:763,7'
          Dst:             token_string_casecmp
        - Src:             'upnp/src/genlib/net/uri/uri.c:766,16'
          Dst:             parse_hostport
        - Src:             'upnp/src/genlib/net/uri/uri.c:776,19'
          Dst:             parse_uric
        - Src:             'upnp/src/genlib/net/uri/uri.c:785,3'
          Dst:             parse_uric
    - functionName:    token_string_casecmp
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/uri/uri.c'
      linkageType:     InternalLinkage
      functionLinenumber: 299
      functionLinenumberEnd: 305
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strlen
        - strncasecmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/uri/uri.c:300,22'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/uri/uri.c:304,10'
          Dst:             strncasecmp
    - functionName:    strlen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    165
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strncasecmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    19
      BranchProfiles:  []
      Callsites:       []
    - functionName:    resolve_rel_url
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/uri/uri.c'
      linkageType:     InternalLinkage
      functionLinenumber: 599
      functionLinenumberEnd: 742
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         83
      ICount:          550
      EdgeCount:       111
      CyclomaticComplexity: 30
      functionsReached:
        - parse_uri
        - remove_dots
        - snprintf
        - strdup
        - strlen
      functionUses:    3
      BranchProfiles:
        - Branch String:   'upnp/src/genlib/net/uri/uri.c:688,5'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/genlib/net/uri/uri.c:615,10'
          Dst:             strdup
        - Src:             'upnp/src/genlib/net/uri/uri.c:618,12'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/uri/uri.c:619,6'
          Dst:             parse_uri
        - Src:             'upnp/src/genlib/net/uri/uri.c:622,10'
          Dst:             strdup
        - Src:             'upnp/src/genlib/net/uri/uri.c:624,13'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/uri/uri.c:625,7'
          Dst:             parse_uri
        - Src:             'upnp/src/genlib/net/uri/uri.c:629,10'
          Dst:             strdup
        - Src:             'upnp/src/genlib/net/uri/uri.c:639,7'
          Dst:             snprintf
        - Src:             'upnp/src/genlib/net/uri/uri.c:651,8'
          Dst:             snprintf
        - Src:             'upnp/src/genlib/net/uri/uri.c:657,8'
          Dst:             snprintf
        - Src:             'upnp/src/genlib/net/uri/uri.c:671,8'
          Dst:             snprintf
        - Src:             'upnp/src/genlib/net/uri/uri.c:673,8'
          Dst:             snprintf
        - Src:             'upnp/src/genlib/net/uri/uri.c:676,9'
          Dst:             snprintf
        - Src:             'upnp/src/genlib/net/uri/uri.c:702,9'
          Dst:             snprintf
        - Src:             'upnp/src/genlib/net/uri/uri.c:715,9'
          Dst:             snprintf
        - Src:             'upnp/src/genlib/net/uri/uri.c:721,9'
          Dst:             snprintf
        - Src:             'upnp/src/genlib/net/uri/uri.c:734,6'
          Dst:             remove_dots
    - functionName:    strdup
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    39
      BranchProfiles:  []
      Callsites:       []
    - functionName:    snprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    63
      BranchProfiles:  []
      Callsites:       []
    - functionName:    remove_dots
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/uri/uri.c'
      linkageType:     InternalLinkage
      functionLinenumber: 531
      functionLinenumberEnd: 595
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         83
      ICount:          405
      EdgeCount:       107
      CyclomaticComplexity: 26
      functionsReached:
        - __assert_fail
        - is_end_path
        - strncmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/uri/uri.c:536,10'
          Dst:             is_end_path
        - Src:             'upnp/src/genlib/net/uri/uri.c:537,3'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/uri/uri.c:538,3'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/uri/uri.c:539,3'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/uri/uri.c:542,7'
          Dst:             strncmp
        - Src:             'upnp/src/genlib/net/uri/uri.c:544,14'
          Dst:             strncmp
        - Src:             'upnp/src/genlib/net/uri/uri.c:547,14'
          Dst:             strncmp
        - Src:             'upnp/src/genlib/net/uri/uri.c:549,14'
          Dst:             strncmp
        - Src:             'upnp/src/genlib/net/uri/uri.c:549,43'
          Dst:             is_end_path
        - Src:             'upnp/src/genlib/net/uri/uri.c:553,14'
          Dst:             strncmp
        - Src:             'upnp/src/genlib/net/uri/uri.c:554,8'
          Dst:             strncmp
        - Src:             'upnp/src/genlib/net/uri/uri.c:554,38'
          Dst:             is_end_path
        - Src:             'upnp/src/genlib/net/uri/uri.c:556,8'
          Dst:             is_end_path
        - Src:             'upnp/src/genlib/net/uri/uri.c:572,14'
          Dst:             strncmp
        - Src:             'upnp/src/genlib/net/uri/uri.c:572,42'
          Dst:             is_end_path
        - Src:             'upnp/src/genlib/net/uri/uri.c:574,14'
          Dst:             strncmp
        - Src:             'upnp/src/genlib/net/uri/uri.c:574,43'
          Dst:             is_end_path
        - Src:             'upnp/src/genlib/net/uri/uri.c:583,40'
          Dst:             is_end_path
    - functionName:    is_end_path
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/uri/uri.c'
      linkageType:     InternalLinkage
      functionLinenumber: 518
      functionLinenumberEnd: 526
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          32
      EdgeCount:       12
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    7
      BranchProfiles:
        - Branch String:   'upnp/src/genlib/net/uri/uri.c:519,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    strncmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    29
      BranchProfiles:  []
      Callsites:       []
    - functionName:    remove_escaped_chars
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/uri/uri.c'
      linkageType:     InternalLinkage
      functionLinenumber: 507
      functionLinenumberEnd: 514
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          40
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - replace_escaped
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/uri/uri.c:511,3'
          Dst:             replace_escaped
    - functionName:    replace_escaped
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/uri/uri.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          154
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - __ctype_b_loc
        - __isoc99_sscanf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/uri/uri.c:146,26'
          Dst:             __ctype_b_loc
        - Src:             'upnp/src/genlib/net/uri/uri.c:147,3'
          Dst:             __ctype_b_loc
        - Src:             'upnp/src/genlib/net/uri/uri.c:153,7'
          Dst:             __isoc99_sscanf
    - functionName:    token_cmp
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/uri/uri.c'
      linkageType:     InternalLinkage
      functionLinenumber: 308
      functionLinenumberEnd: 313
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - memcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/uri/uri.c:312,10'
          Dst:             memcmp
    - functionName:    memcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    free_URL_list
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/uri/uri.c'
      linkageType:     InternalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 274
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          50
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    copy_token
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/uri/uri.c'
      linkageType:     InternalLinkage
      functionLinenumber: 216
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          30
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    copy_URL_list
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/uri/uri.c'
      linkageType:     InternalLinkage
      functionLinenumber: 222
      functionLinenumberEnd: 263
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          225
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - copy_token
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/uri/uri.c:223,15'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/uri/uri.c:239,3'
          Dst:             copy_token
        - Src:             'upnp/src/genlib/net/uri/uri.c:244,3'
          Dst:             copy_token
        - Src:             'upnp/src/genlib/net/uri/uri.c:248,3'
          Dst:             copy_token
        - Src:             'upnp/src/genlib/net/uri/uri.c:252,3'
          Dst:             copy_token
    - functionName:    membuffer_attach
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/membuffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 292
      functionLinenumberEnd: 299
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - membuffer_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/util/membuffer.c:293,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/util/membuffer.c:295,2'
          Dst:             membuffer_destroy
    - functionName:    membuffer_destroy
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/membuffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - membuffer_init
      functionUses:    61
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/util/membuffer.c:171,2'
          Dst:             membuffer_init
    - functionName:    membuffer_init
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/membuffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - membuffer_initialize
      functionUses:    42
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/util/membuffer.c:158,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/util/membuffer.c:161,2'
          Dst:             membuffer_initialize
    - functionName:    membuffer_initialize
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/membuffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    membuffer_detach
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/membuffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 278
      functionLinenumberEnd: 288
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - membuffer_initialize
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/util/membuffer.c:281,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/util/membuffer.c:286,2'
          Dst:             membuffer_initialize
    - functionName:    membuffer_delete
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/membuffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 245
      functionLinenumberEnd: 275
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          135
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - membuffer_set_size
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/util/membuffer.c:250,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/util/membuffer.c:266,17'
          Dst:             membuffer_set_size
        - Src:             'upnp/src/genlib/util/membuffer.c:268,2'
          Dst:             __assert_fail
    - functionName:    membuffer_set_size
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/membuffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          166
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
        - realloc
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/util/membuffer.c:122,3'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/util/membuffer.c:132,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/util/membuffer.c:134,13'
          Dst:             realloc
        - Src:             'upnp/src/genlib/util/membuffer.c:142,4'
          Dst:             realloc
    - functionName:    realloc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    membuffer_append_str
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/membuffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 212
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - membuffer_insert
        - strlen
      functionUses:    20
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/util/membuffer.c:213,36'
          Dst:             strlen
        - Src:             'upnp/src/genlib/util/membuffer.c:213,9'
          Dst:             membuffer_insert
    - functionName:    membuffer_insert
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/membuffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 218
      functionLinenumberEnd: 242
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          123
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - membuffer_set_size
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/util/membuffer.c:221,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/util/membuffer.c:229,16'
          Dst:             membuffer_set_size
    - functionName:    membuffer_append
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/membuffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 205
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - membuffer_insert
      functionUses:    23
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/util/membuffer.c:206,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/util/membuffer.c:208,9'
          Dst:             membuffer_insert
    - functionName:    membuffer_assign_str
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/membuffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - membuffer_assign
        - strlen
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/util/membuffer.c:201,36'
          Dst:             strlen
        - Src:             'upnp/src/genlib/util/membuffer.c:201,9'
          Dst:             membuffer_assign
    - functionName:    membuffer_assign
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/membuffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 197
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          83
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - membuffer_destroy
        - membuffer_set_size
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/util/membuffer.c:178,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/util/membuffer.c:182,3'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/genlib/util/membuffer.c:186,16'
          Dst:             membuffer_set_size
    - functionName:    memptr_cmp_nocase
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/membuffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strlen
        - strncasecmp
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/util/membuffer.c:84,8'
          Dst:             strncasecmp
        - Src:             'upnp/src/genlib/util/membuffer.c:85,30'
          Dst:             strlen
    - functionName:    memptr_cmp
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/membuffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strlen
        - strncmp
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/util/membuffer.c:69,8'
          Dst:             strncmp
        - Src:             'upnp/src/genlib/util/membuffer.c:71,30'
          Dst:             strlen
    - functionName:    str_alloc
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/membuffer.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    map_int_to_str
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/strintmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          49
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    map_str_to_int
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/strintmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          112
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - memptr_cmp
        - memptr_cmp_nocase
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/util/strintmap.c:85,10'
          Dst:             memptr_cmp
        - Src:             'upnp/src/genlib/util/strintmap.c:88,10'
          Dst:             memptr_cmp_nocase
    - functionName:    ListSize
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/LinkedList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 302
      functionLinenumberEnd: 309
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          40
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/LinkedList.c:303,2'
          Dst:             __assert_fail
    - functionName:    ListFind
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/LinkedList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 273
      functionLinenumberEnd: 299
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          125
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/LinkedList.c:281,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/LinkedList.c:285,2'
          Dst:             __assert_fail
    - functionName:    ListPrev
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/LinkedList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 259
      functionLinenumberEnd: 270
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          71
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/LinkedList.c:260,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/LinkedList.c:261,2'
          Dst:             __assert_fail
    - functionName:    ListNext
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/LinkedList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 256
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          71
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/LinkedList.c:247,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/LinkedList.c:248,2'
          Dst:             __assert_fail
    - functionName:    ListTail
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/LinkedList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 233
      functionLinenumberEnd: 243
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          52
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/LinkedList.c:234,2'
          Dst:             __assert_fail
    - functionName:    ListHead
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/LinkedList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 230
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          52
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
      functionUses:    24
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/LinkedList.c:221,2'
          Dst:             __assert_fail
    - functionName:    ListDestroy
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/LinkedList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - FreeListDestroy
        - ListDelNode
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/LinkedList.c:210,3'
          Dst:             ListDelNode
        - Src:             'upnp/src/threadutil/LinkedList.c:214,2'
          Dst:             FreeListDestroy
    - functionName:    ListDelNode
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/LinkedList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 198
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          145
      EdgeCount:       33
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
        - freeListNode
      functionUses:    21
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/LinkedList.c:181,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/LinkedList.c:182,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/LinkedList.c:183,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/LinkedList.c:190,2'
          Dst:             freeListNode
    - functionName:    freeListNode
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/LinkedList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - FreeListFree
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/LinkedList.c:50,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/LinkedList.c:52,9'
          Dst:             FreeListFree
    - functionName:    CreateListNode
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/LinkedList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          52
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - FreeListAlloc
        - __assert_fail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/LinkedList.c:71,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/LinkedList.c:73,21'
          Dst:             FreeListAlloc
    - functionName:    ListAddBefore
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/LinkedList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          90
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - CreateListNode
        - __assert_fail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/LinkedList.c:157,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/LinkedList.c:161,12'
          Dst:             CreateListNode
    - functionName:    ListAddTail
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/LinkedList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          44
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - ListAddBefore
        - __assert_fail
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/LinkedList.c:121,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/LinkedList.c:126,9'
          Dst:             ListAddBefore
    - functionName:    ListAddAfter
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/LinkedList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          90
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - CreateListNode
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/LinkedList.c:133,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/LinkedList.c:137,12'
          Dst:             CreateListNode
    - functionName:    ListAddHead
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/LinkedList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 117
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          44
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - ListAddAfter
        - __assert_fail
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/LinkedList.c:111,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/LinkedList.c:116,9'
          Dst:             ListAddAfter
    - functionName:    ListInit
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/LinkedList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 107
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          97
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - FreeListInit
        - __assert_fail
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/LinkedList.c:87,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/LinkedList.c:94,12'
          Dst:             FreeListInit
        - Src:             'upnp/src/threadutil/LinkedList.c:97,2'
          Dst:             __assert_fail
    - functionName:    get_server_addr6
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1784
      functionLinenumberEnd: 1792
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - htons
        - inet_pton
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:1790,2'
          Dst:             inet_pton
        - Src:             'upnp/src/api/upnpapi.c:1791,19'
          Dst:             htons
    - functionName:    get_server_addr
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1768
      functionLinenumberEnd: 1776
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - htons
        - inet_pton
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:1774,2'
          Dst:             inet_pton
        - Src:             'upnp/src/api/upnpapi.c:1775,18'
          Dst:             htons
    - functionName:    GetNameForAlias
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1743
      functionLinenumberEnd: 1760
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          62
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - strcasecmp
        - strrchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:1747,8'
          Dst:             strrchr
        - Src:             'upnp/src/api/upnpapi.c:1748,21'
          Dst:             strcasecmp
        - Src:             'upnp/src/api/upnpapi.c:1752,7'
          Dst:             strrchr
    - functionName:    strrchr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strcasecmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    HandleWriteLock
      functionSourceFile: '/src/pupnp/upnp/src/inc/upnpapi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpPrintf
        - pthread_rwlock_wrlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/upnpapi.h:160,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/inc/upnpapi.h:161,2'
          Dst:             pthread_rwlock_wrlock
        - Src:             'upnp/src/inc/upnpapi.h:162,2'
          Dst:             UpnpPrintf
    - functionName:    pthread_rwlock_wrlock
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpInitThreadPools
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 374
      functionLinenumberEnd: 407
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         13
      ICount:          68
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - TPAttrInit
        - TPAttrSetIdleTime
        - TPAttrSetJobsPerThread
        - TPAttrSetMaxJobsTotal
        - TPAttrSetMaxThreads
        - TPAttrSetMinThreads
        - TPAttrSetStackSize
        - ThreadPoolInit
        - UpnpFinish
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:378,2'
          Dst:             TPAttrInit
        - Src:             'upnp/src/api/upnpapi.c:379,2'
          Dst:             TPAttrSetMaxThreads
        - Src:             'upnp/src/api/upnpapi.c:380,2'
          Dst:             TPAttrSetMinThreads
        - Src:             'upnp/src/api/upnpapi.c:381,2'
          Dst:             TPAttrSetStackSize
        - Src:             'upnp/src/api/upnpapi.c:382,2'
          Dst:             TPAttrSetJobsPerThread
        - Src:             'upnp/src/api/upnpapi.c:383,2'
          Dst:             TPAttrSetIdleTime
        - Src:             'upnp/src/api/upnpapi.c:384,2'
          Dst:             TPAttrSetMaxJobsTotal
        - Src:             'upnp/src/api/upnpapi.c:386,6'
          Dst:             ThreadPoolInit
        - Src:             'upnp/src/api/upnpapi.c:391,6'
          Dst:             ThreadPoolInit
        - Src:             'upnp/src/api/upnpapi.c:396,6'
          Dst:             ThreadPoolInit
        - Src:             'upnp/src/api/upnpapi.c:404,3'
          Dst:             UpnpFinish
    - functionName:    UpnpFinish
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 703
      functionLinenumberEnd: 791
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         18
      ICount:          96
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - GetClientHandleInfo
        - GetDeviceHandleInfo
        - PrintThreadPoolStats
        - StopMiniServer
        - ThreadPoolShutdown
        - TimerThreadShutdown
        - UpnpCloseLog
        - UpnpPrintf
        - UpnpRemoveAllVirtualDirs
        - UpnpUnRegisterClient
        - UpnpUnRegisterRootDevice
        - ithread_cleanup_library
        - pthread_mutex_destroy
        - pthread_rwlock_destroy
        - web_server_destroy
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:719,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:726,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:731,2'
          Dst:             PrintThreadPoolStats
        - Src:             'upnp/src/api/upnpapi.c:733,2'
          Dst:             PrintThreadPoolStats
        - Src:             'upnp/src/api/upnpapi.c:735,2'
          Dst:             PrintThreadPoolStats
        - Src:             'upnp/src/api/upnpapi.c:740,9'
          Dst:             GetDeviceHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:742,3'
          Dst:             UpnpUnRegisterRootDevice
        - Src:             'upnp/src/api/upnpapi.c:744,9'
          Dst:             GetDeviceHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:746,3'
          Dst:             UpnpUnRegisterRootDevice
        - Src:             'upnp/src/api/upnpapi.c:750,23'
          Dst:             GetClientHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:751,3'
          Dst:             UpnpUnRegisterClient
        - Src:             'upnp/src/api/upnpapi.c:754,2'
          Dst:             TimerThreadShutdown
        - Src:             'upnp/src/api/upnpapi.c:756,2'
          Dst:             StopMiniServer
        - Src:             'upnp/src/api/upnpapi.c:758,2'
          Dst:             ThreadPoolShutdown
        - Src:             'upnp/src/api/upnpapi.c:759,2'
          Dst:             PrintThreadPoolStats
        - Src:             'upnp/src/api/upnpapi.c:763,2'
          Dst:             ThreadPoolShutdown
        - Src:             'upnp/src/api/upnpapi.c:764,2'
          Dst:             PrintThreadPoolStats
        - Src:             'upnp/src/api/upnpapi.c:766,2'
          Dst:             ThreadPoolShutdown
        - Src:             'upnp/src/api/upnpapi.c:767,2'
          Dst:             PrintThreadPoolStats
        - Src:             'upnp/src/api/upnpapi.c:770,2'
          Dst:             web_server_destroy
        - Src:             'upnp/src/api/upnpapi.c:773,2'
          Dst:             pthread_mutex_destroy
        - Src:             'upnp/src/api/upnpapi.c:775,2'
          Dst:             pthread_rwlock_destroy
        - Src:             'upnp/src/api/upnpapi.c:776,2'
          Dst:             pthread_mutex_destroy
        - Src:             'upnp/src/api/upnpapi.c:778,2'
          Dst:             UpnpRemoveAllVirtualDirs
        - Src:             'upnp/src/api/upnpapi.c:780,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:786,2'
          Dst:             UpnpCloseLog
        - Src:             'upnp/src/api/upnpapi.c:788,2'
          Dst:             ithread_cleanup_library
    - functionName:    PrintThreadPoolStats
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 660
      functionLinenumberEnd: 695
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          52
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ThreadPoolGetStats
        - UpnpPrintf
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:662,2'
          Dst:             ThreadPoolGetStats
        - Src:             'upnp/src/api/upnpapi.c:663,2'
          Dst:             UpnpPrintf
    - functionName:    GetDeviceHandleInfo
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4280
      functionLinenumberEnd: 4311
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          141
      EdgeCount:       36
      CyclomaticComplexity: 9
      functionsReached:
        - GetHandleInfo
      functionUses:    3
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:4297,3'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:4297,11'
          Dst:             GetHandleInfo
    - functionName:    UpnpUnRegisterRootDevice
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1519
      functionLinenumberEnd: 1525
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpPrintf
        - UpnpUnRegisterRootDeviceLowPower
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:1520,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1525,9'
          Dst:             UpnpUnRegisterRootDeviceLowPower
    - functionName:    GetClientHandleInfo
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4258
      functionLinenumberEnd: 4274
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          54
      EdgeCount:       11
      CyclomaticComplexity: 2
      functionsReached:
        - GetHandleInfo
      functionUses:    3
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:4262,3'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:4262,11'
          Dst:             GetHandleInfo
    - functionName:    UpnpUnRegisterClient
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1673
      functionLinenumberEnd: 1728
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          118
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - FreeHandle
        - GetHandleInfo
        - HandleLock
        - HandleUnlock
        - ListDelNode
        - ListDestroy
        - ListHead
        - UpnpPrintf
        - genaUnregisterClient
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:1698,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:1680,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1686,2'
          Dst:             HandleLock
        - Src:             'upnp/src/api/upnpapi.c:1688,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:1691,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:1694,6'
          Dst:             genaUnregisterClient
        - Src:             'upnp/src/api/upnpapi.c:1697,2'
          Dst:             HandleLock
        - Src:             'upnp/src/api/upnpapi.c:1698,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:1700,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:1706,9'
          Dst:             ListHead
        - Src:             'upnp/src/api/upnpapi.c:1713,3'
          Dst:             ListDelNode
        - Src:             'upnp/src/api/upnpapi.c:1714,10'
          Dst:             ListHead
        - Src:             'upnp/src/api/upnpapi.c:1716,2'
          Dst:             ListDestroy
        - Src:             'upnp/src/api/upnpapi.c:1717,2'
          Dst:             FreeHandle
        - Src:             'upnp/src/api/upnpapi.c:1719,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:1721,2'
          Dst:             UpnpPrintf
    - functionName:    pthread_mutex_destroy
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_rwlock_destroy
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpRemoveAllVirtualDirs
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4595
      functionLinenumberEnd: 4613
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          44
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ithread_cleanup_library
      functionSourceFile: '/src/pupnp/upnp/inc/ithread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 214
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    HandleLock
      functionSourceFile: '/src/pupnp/upnp/src/inc/upnpapi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - HandleWriteLock
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/upnpapi.h:167,2'
          Dst:             HandleWriteLock
    - functionName:    HandleUnlock
      functionSourceFile: '/src/pupnp/upnp/src/inc/upnpapi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpPrintf
        - pthread_rwlock_unlock
      functionUses:    81
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/upnpapi.h:146,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/inc/upnpapi.h:147,2'
          Dst:             pthread_rwlock_unlock
        - Src:             'upnp/src/inc/upnpapi.h:148,2'
          Dst:             UpnpPrintf
    - functionName:    GetHandleInfo
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4361
      functionLinenumberEnd: 4397
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          73
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - UpnpPrintf
      functionUses:    49
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:4373,3'
          Dst:             UpnpPrintf
    - functionName:    FreeHandle
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 919
      functionLinenumberEnd: 954
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          66
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - UpnpPrintf
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:922,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:929,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:936,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:947,2'
          Dst:             UpnpPrintf
    - functionName:    pthread_rwlock_unlock
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpUnRegisterRootDeviceLowPower
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1532
      functionLinenumberEnd: 1612
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          160
      EdgeCount:       25
      CyclomaticComplexity: 3
      functionsReached:
        - AdvertiseAndReply
        - FreeHandle
        - GetHandleInfo
        - HandleLock
        - HandleUnlock
        - ListDestroy
        - UpnpPrintf
        - genaUnregisterDevice
        - ixmlDocument_free
        - ixmlNodeList_free
        - web_server_set_alias
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:1549,2'
          Branch Sides:    []
        - Branch String:   'upnp/src/api/upnpapi.c:1575,2'
          Branch Sides:    []
        - Branch String:   'upnp/src/api/upnpapi.c:1592,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:1538,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1544,6'
          Dst:             genaUnregisterDevice
        - Src:             'upnp/src/api/upnpapi.c:1548,2'
          Dst:             HandleLock
        - Src:             'upnp/src/api/upnpapi.c:1549,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:1551,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:1561,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:1564,11'
          Dst:             AdvertiseAndReply
        - Src:             'upnp/src/api/upnpapi.c:1574,2'
          Dst:             HandleLock
        - Src:             'upnp/src/api/upnpapi.c:1575,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:1577,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:1582,2'
          Dst:             ixmlNodeList_free
        - Src:             'upnp/src/api/upnpapi.c:1583,2'
          Dst:             ixmlNodeList_free
        - Src:             'upnp/src/api/upnpapi.c:1584,2'
          Dst:             ixmlDocument_free
        - Src:             'upnp/src/api/upnpapi.c:1586,2'
          Dst:             ListDestroy
        - Src:             'upnp/src/api/upnpapi.c:1590,3'
          Dst:             web_server_set_alias
        - Src:             'upnp/src/api/upnpapi.c:1602,2'
          Dst:             FreeHandle
        - Src:             'upnp/src/api/upnpapi.c:1603,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:1605,2'
          Dst:             UpnpPrintf
    - functionName:    UpnpInitMutexes
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 345
      functionLinenumberEnd: 365
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          45
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - pthread_mutex_init
        - pthread_rwlock_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:351,6'
          Dst:             pthread_rwlock_init
        - Src:             'upnp/src/api/upnpapi.c:355,6'
          Dst:             pthread_mutex_init
        - Src:             'upnp/src/api/upnpapi.c:360,6'
          Dst:             pthread_mutex_init
    - functionName:    pthread_rwlock_init
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_mutex_init
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WinsockInit
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpSetEventQueueLimits
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4785
      functionLinenumberEnd: 4788
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpSetMaxContentLength
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4770
      functionLinenumberEnd: 4781
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          25
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpSetContentLength
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4739
      functionLinenumberEnd: 4767
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          63
      EdgeCount:       14
      CyclomaticComplexity: 3
      functionsReached:
        - GetHandleInfo
        - HandleLock
        - HandleUnlock
      functionUses:    0
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:4751,3'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:4749,3'
          Dst:             HandleLock
        - Src:             'upnp/src/api/upnpapi.c:4751,11'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:4755,4'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:4765,2'
          Dst:             HandleUnlock
    - functionName:    UpnpVirtualDir_set_CloseCallback
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4727
      functionLinenumberEnd: 4735
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          23
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpVirtualDir_set_SeekCallback
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4715
      functionLinenumberEnd: 4723
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          23
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpVirtualDir_set_WriteCallback
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4703
      functionLinenumberEnd: 4711
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          23
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpVirtualDir_set_ReadCallback
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4691
      functionLinenumberEnd: 4699
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          23
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpVirtualDir_set_OpenCallback
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4679
      functionLinenumberEnd: 4687
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          23
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpVirtualDir_set_GetInfoCallback
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4667
      functionLinenumberEnd: 4675
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          23
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpSetAllowLiteralHostRedirection
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4662
      functionLinenumberEnd: 4664
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpSetHostValidateCallback
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4656
      functionLinenumberEnd: 4659
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpIsWebserverEnabled
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4646
      functionLinenumberEnd: 4652
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpEnableWebserver
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4616
      functionLinenumberEnd: 4638
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          56
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - SetHTTPGetCallback
        - web_server_callback
        - web_server_destroy
        - web_server_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:4622,16'
          Dst:             web_server_init
        - Src:             'upnp/src/api/upnpapi.c:4627,3'
          Dst:             SetHTTPGetCallback
        - Src:             'upnp/src/api/upnpapi.c:4627,3'
          Dst:             web_server_callback
        - Src:             'upnp/src/api/upnpapi.c:4629,3'
          Dst:             web_server_destroy
        - Src:             'upnp/src/api/upnpapi.c:4631,3'
          Dst:             SetHTTPGetCallback
    - functionName:    UpnpRemoveVirtualDir
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4548
      functionLinenumberEnd: 4592
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          125
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:4566,6'
          Dst:             strcmp
        - Src:             'upnp/src/api/upnpapi.c:4577,7'
          Dst:             strcmp
    - functionName:    strcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    75
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpAddVirtualDir
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4480
      functionLinenumberEnd: 4545
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          219
      EdgeCount:       50
      CyclomaticComplexity: 15
      functionsReached:
        - strcmp
        - strlen
        - strncpy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:4492,31'
          Dst:             strlen
        - Src:             'upnp/src/api/upnpapi.c:4497,7'
          Dst:             strlen
        - Src:             'upnp/src/api/upnpapi.c:4500,3'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:4502,7'
          Dst:             strlen
        - Src:             'upnp/src/api/upnpapi.c:4504,3'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:4510,7'
          Dst:             strcmp
        - Src:             'upnp/src/api/upnpapi.c:4529,2'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:4532,30'
          Dst:             strlen
    - functionName:    UpnpSetWebServerCorsString
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4465
      functionLinenumberEnd: 4475
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          50
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - membuffer_destroy
        - strlen
        - web_server_set_cors
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:4468,31'
          Dst:             strlen
        - Src:             'upnp/src/api/upnpapi.c:4472,2'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/api/upnpapi.c:4474,9'
          Dst:             web_server_set_cors
    - functionName:    UpnpSetWebServerRootDir
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4452
      functionLinenumberEnd: 4462
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          50
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - membuffer_destroy
        - strlen
        - web_server_set_root_dir
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:4455,28'
          Dst:             strlen
        - Src:             'upnp/src/api/upnpapi.c:4459,2'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/api/upnpapi.c:4461,9'
          Dst:             web_server_set_root_dir
    - functionName:    PrintHandleInfo
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4401
      functionLinenumberEnd: 4435
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          62
      EdgeCount:       10
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpPrintf
      functionUses:    0
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:4418,3'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:4405,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:4411,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:4422,4'
          Dst:             UpnpPrintf
    - functionName:    GetDeviceHandleInfoForPath
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4318
      functionLinenumberEnd: 4357
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          147
      EdgeCount:       36
      CyclomaticComplexity: 9
      functionsReached:
        - FindServiceControlURLPath
        - FindServiceEventURLPath
        - GetHandleInfo
      functionUses:    4
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:4330,3'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:4330,11'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:4334,23'
          Dst:             FindServiceControlURLPath
        - Src:             'upnp/src/api/upnpapi.c:4341,23'
          Dst:             FindServiceEventURLPath
    - functionName:    GetCallBackFn
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4251
      functionLinenumberEnd: 4252
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpComputeIpv6PrefixLength
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3706
      functionLinenumberEnd: 3721
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          75
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpDownloadUrlItem
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3602
      functionLinenumberEnd: 3615
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          65
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - http_Download
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3608,13'
          Dst:             http_Download
    - functionName:    UpnpReadHttpResponse
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3592
      functionLinenumberEnd: 3593
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - http_ReadHttpResponse
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3593,9'
          Dst:             http_ReadHttpResponse
    - functionName:    UpnpWriteHttpRequest
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3567
      functionLinenumberEnd: 3568
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - http_WriteHttpRequest
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3568,9'
          Dst:             http_WriteHttpRequest
    - functionName:    UpnpHttpGetProgress
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3540
      functionLinenumberEnd: 3541
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - http_HttpGetProgress
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3541,9'
          Dst:             http_HttpGetProgress
    - functionName:    UpnpReadHttpGet
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3535
      functionLinenumberEnd: 3536
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - http_ReadHttpResponse
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3536,9'
          Dst:             http_ReadHttpResponse
    - functionName:    UpnpCloseHttpConnection
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3597
      functionLinenumberEnd: 3598
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - http_CloseHttpConnection
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3598,9'
          Dst:             http_CloseHttpConnection
    - functionName:    UpnpCloseHttpGet
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3532
      functionLinenumberEnd: 3532
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpCloseHttpConnection
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3532,45'
          Dst:             UpnpCloseHttpConnection
    - functionName:    UpnpCancelHttpGet
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3530
      functionLinenumberEnd: 3530
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - http_CancelHttpGet
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3530,46'
          Dst:             http_CancelHttpGet
    - functionName:    UpnpOpenHttpGetEx
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3519
      functionLinenumberEnd: 3527
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - http_OpenHttpGetEx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3520,9'
          Dst:             http_OpenHttpGetEx
    - functionName:    UpnpOpenHttpGetProxy
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3486
      functionLinenumberEnd: 3508
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          87
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - UpnpEndHttpRequest
        - UpnpGetHttpResponse
        - UpnpMakeHttpRequest
        - UpnpOpenHttpConnection
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3487,15'
          Dst:             UpnpOpenHttpConnection
        - Src:             'upnp/src/api/upnpapi.c:3489,12'
          Dst:             UpnpMakeHttpRequest
        - Src:             'upnp/src/api/upnpapi.c:3498,12'
          Dst:             UpnpEndHttpRequest
        - Src:             'upnp/src/api/upnpapi.c:3501,12'
          Dst:             UpnpGetHttpResponse
    - functionName:    UpnpOpenHttpConnection
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3545
      functionLinenumberEnd: 3546
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - http_OpenHttpConnection
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3546,9'
          Dst:             http_OpenHttpConnection
    - functionName:    UpnpMakeHttpRequest
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3556
      functionLinenumberEnd: 3563
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - http_MakeHttpRequest
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3557,9'
          Dst:             http_MakeHttpRequest
    - functionName:    UpnpEndHttpRequest
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3572
      functionLinenumberEnd: 3573
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - http_EndHttpRequest
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3573,9'
          Dst:             http_EndHttpRequest
    - functionName:    UpnpGetHttpResponse
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3582
      functionLinenumberEnd: 3588
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - http_GetHttpResponse
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3583,9'
          Dst:             http_GetHttpResponse
    - functionName:    UpnpOpenHttpGet
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3454
      functionLinenumberEnd: 3476
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          85
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - UpnpEndHttpRequest
        - UpnpGetHttpResponse
        - UpnpMakeHttpRequest
        - UpnpOpenHttpConnection
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3455,15'
          Dst:             UpnpOpenHttpConnection
        - Src:             'upnp/src/api/upnpapi.c:3457,12'
          Dst:             UpnpMakeHttpRequest
        - Src:             'upnp/src/api/upnpapi.c:3466,12'
          Dst:             UpnpEndHttpRequest
        - Src:             'upnp/src/api/upnpapi.c:3469,12'
          Dst:             UpnpGetHttpResponse
    - functionName:    UpnpCloseHttpPost
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3438
      functionLinenumberEnd: 3445
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - http_CloseHttpConnection
        - http_EndHttpRequest
        - http_GetHttpResponse
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3439,15'
          Dst:             http_EndHttpRequest
        - Src:             'upnp/src/api/upnpapi.c:3441,17'
          Dst:             http_GetHttpResponse
        - Src:             'upnp/src/api/upnpapi.c:3444,11'
          Dst:             http_CloseHttpConnection
    - functionName:    UpnpWriteHttpPost
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3433
      functionLinenumberEnd: 3434
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - http_WriteHttpRequest
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3434,9'
          Dst:             http_WriteHttpRequest
    - functionName:    UpnpOpenHttpPost
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3418
      functionLinenumberEnd: 3430
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - http_MakeHttpRequest
        - http_OpenHttpConnection
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3419,15'
          Dst:             http_OpenHttpConnection
        - Src:             'upnp/src/api/upnpapi.c:3421,10'
          Dst:             http_MakeHttpRequest
    - functionName:    UpnpGetServiceVarStatus
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3358
      functionLinenumberEnd: 3403
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          94
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - GetHandleInfo
        - HandleReadLock
        - HandleUnlock
        - SoapGetServiceVarStatus
        - UpnpPrintf
      functionUses:    0
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:3376,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3369,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:3375,2'
          Dst:             HandleReadLock
        - Src:             'upnp/src/api/upnpapi.c:3376,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:3380,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:3384,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:3393,11'
          Dst:             SoapGetServiceVarStatus
        - Src:             'upnp/src/api/upnpapi.c:3396,2'
          Dst:             UpnpPrintf
    - functionName:    HandleReadLock
      functionSourceFile: '/src/pupnp/upnp/src/inc/upnpapi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpPrintf
        - pthread_rwlock_rdlock
      functionUses:    17
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/upnpapi.h:153,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/inc/upnpapi.h:154,2'
          Dst:             pthread_rwlock_rdlock
        - Src:             'upnp/src/inc/upnpapi.h:155,2'
          Dst:             UpnpPrintf
    - functionName:    pthread_rwlock_rdlock
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpGetServiceVarStatusAsync
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3287
      functionLinenumberEnd: 3352
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          140
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - GetHandleInfo
        - HandleReadLock
        - HandleUnlock
        - TPJobInit
        - TPJobSetFreeFunction
        - TPJobSetPriority
        - ThreadPoolAdd
        - UpnpPrintf
        - UpnpThreadDistribution
        - strncpy
      functionUses:    0
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:3307,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3300,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:3306,2'
          Dst:             HandleReadLock
        - Src:             'upnp/src/api/upnpapi.c:3307,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:3311,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:3314,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:3331,2'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:3332,2'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:3336,2'
          Dst:             TPJobInit
        - Src:             'upnp/src/api/upnpapi.c:3336,2'
          Dst:             UpnpThreadDistribution
        - Src:             'upnp/src/api/upnpapi.c:3337,2'
          Dst:             TPJobSetFreeFunction
        - Src:             'upnp/src/api/upnpapi.c:3339,2'
          Dst:             TPJobSetPriority
        - Src:             'upnp/src/api/upnpapi.c:3341,6'
          Dst:             ThreadPoolAdd
        - Src:             'upnp/src/api/upnpapi.c:3345,2'
          Dst:             UpnpPrintf
    - functionName:    UpnpThreadDistribution
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4135
      functionLinenumberEnd: 4242
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          287
      EdgeCount:       13
      CyclomaticComplexity: 2
      functionsReached:
        - SoapGetServiceVarStatus
        - SoapSendAction
        - SoapSendActionEx
        - UpnpActionComplete_delete
        - UpnpActionComplete_new
        - UpnpActionComplete_set_ActionRequest
        - UpnpActionComplete_set_ActionResult
        - UpnpActionComplete_set_ErrCode
        - UpnpActionComplete_strcpy_CtrlUrl
        - UpnpEventSubscribe_delete
        - UpnpEventSubscribe_get_PublisherUrl
        - UpnpEventSubscribe_get_SID
        - UpnpEventSubscribe_new
        - UpnpEventSubscribe_set_ErrCode
        - UpnpEventSubscribe_set_SID
        - UpnpEventSubscribe_set_TimeOut
        - UpnpEventSubscribe_strcpy_PublisherUrl
        - UpnpEventSubscribe_strcpy_SID
        - UpnpPrintf
        - UpnpStateVarComplete_delete
        - UpnpStateVarComplete_new
        - UpnpStateVarComplete_set_CurrentVal
        - UpnpStateVarComplete_set_ErrCode
        - UpnpStateVarComplete_strcpy_CtrlUrl
        - UpnpStateVarComplete_strcpy_StateVarName
        - UpnpString_delete
        - UpnpString_new
        - free_action_arg
        - genaRenewSubscription
        - genaSubscribe
        - genaUnSubscribe
        - ixmlDocument_free
      functionUses:    6
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:4144,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:4138,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:4147,29'
          Dst:             UpnpEventSubscribe_new
        - Src:             'upnp/src/api/upnpapi.c:4148,21'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/upnpapi.c:4150,3'
          Dst:             UpnpEventSubscribe_strcpy_PublisherUrl
        - Src:             'upnp/src/api/upnpapi.c:4152,4'
          Dst:             UpnpEventSubscribe_get_PublisherUrl
        - Src:             'upnp/src/api/upnpapi.c:4151,13'
          Dst:             genaSubscribe
        - Src:             'upnp/src/api/upnpapi.c:4155,3'
          Dst:             UpnpEventSubscribe_set_ErrCode
        - Src:             'upnp/src/api/upnpapi.c:4156,3'
          Dst:             UpnpEventSubscribe_set_TimeOut
        - Src:             'upnp/src/api/upnpapi.c:4157,3'
          Dst:             UpnpEventSubscribe_set_SID
        - Src:             'upnp/src/api/upnpapi.c:4159,3'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/api/upnpapi.c:4160,3'
          Dst:             UpnpEventSubscribe_delete
        - Src:             'upnp/src/api/upnpapi.c:4165,29'
          Dst:             UpnpEventSubscribe_new
        - Src:             'upnp/src/api/upnpapi.c:4166,3'
          Dst:             UpnpEventSubscribe_strcpy_SID
        - Src:             'upnp/src/api/upnpapi.c:4168,19'
          Dst:             UpnpEventSubscribe_get_SID
        - Src:             'upnp/src/api/upnpapi.c:4167,13'
          Dst:             genaUnSubscribe
        - Src:             'upnp/src/api/upnpapi.c:4169,3'
          Dst:             UpnpEventSubscribe_set_ErrCode
        - Src:             'upnp/src/api/upnpapi.c:4170,3'
          Dst:             UpnpEventSubscribe_strcpy_PublisherUrl
        - Src:             'upnp/src/api/upnpapi.c:4171,3'
          Dst:             UpnpEventSubscribe_set_TimeOut
        - Src:             'upnp/src/api/upnpapi.c:4173,3'
          Dst:             UpnpEventSubscribe_delete
        - Src:             'upnp/src/api/upnpapi.c:4178,29'
          Dst:             UpnpEventSubscribe_new
        - Src:             'upnp/src/api/upnpapi.c:4179,3'
          Dst:             UpnpEventSubscribe_strcpy_SID
        - Src:             'upnp/src/api/upnpapi.c:4181,4'
          Dst:             UpnpEventSubscribe_get_SID
        - Src:             'upnp/src/api/upnpapi.c:4180,13'
          Dst:             genaRenewSubscription
        - Src:             'upnp/src/api/upnpapi.c:4183,3'
          Dst:             UpnpEventSubscribe_set_ErrCode
        - Src:             'upnp/src/api/upnpapi.c:4184,3'
          Dst:             UpnpEventSubscribe_set_TimeOut
        - Src:             'upnp/src/api/upnpapi.c:4186,3'
          Dst:             UpnpEventSubscribe_delete
        - Src:             'upnp/src/api/upnpapi.c:4193,29'
          Dst:             UpnpActionComplete_new
        - Src:             'upnp/src/api/upnpapi.c:4197,14'
          Dst:             SoapSendActionEx
        - Src:             'upnp/src/api/upnpapi.c:4203,14'
          Dst:             SoapSendAction
        - Src:             'upnp/src/api/upnpapi.c:4208,3'
          Dst:             UpnpActionComplete_set_ErrCode
        - Src:             'upnp/src/api/upnpapi.c:4209,3'
          Dst:             UpnpActionComplete_set_ActionRequest
        - Src:             'upnp/src/api/upnpapi.c:4210,3'
          Dst:             UpnpActionComplete_set_ActionResult
        - Src:             'upnp/src/api/upnpapi.c:4211,3'
          Dst:             UpnpActionComplete_strcpy_CtrlUrl
        - Src:             'upnp/src/api/upnpapi.c:4213,3'
          Dst:             UpnpActionComplete_delete
        - Src:             'upnp/src/api/upnpapi.c:4214,3'
          Dst:             ixmlDocument_free
        - Src:             'upnp/src/api/upnpapi.c:4215,3'
          Dst:             free_action_arg
        - Src:             'upnp/src/api/upnpapi.c:4219,31'
          Dst:             UpnpStateVarComplete_new
        - Src:             'upnp/src/api/upnpapi.c:4221,17'
          Dst:             SoapGetServiceVarStatus
        - Src:             'upnp/src/api/upnpapi.c:4223,3'
          Dst:             UpnpStateVarComplete_set_ErrCode
        - Src:             'upnp/src/api/upnpapi.c:4224,3'
          Dst:             UpnpStateVarComplete_strcpy_CtrlUrl
        - Src:             'upnp/src/api/upnpapi.c:4225,3'
          Dst:             UpnpStateVarComplete_strcpy_StateVarName
        - Src:             'upnp/src/api/upnpapi.c:4226,3'
          Dst:             UpnpStateVarComplete_set_CurrentVal
        - Src:             'upnp/src/api/upnpapi.c:4229,3'
          Dst:             UpnpStateVarComplete_delete
        - Src:             'upnp/src/api/upnpapi.c:4237,2'
          Dst:             UpnpPrintf
    - functionName:    free_action_arg
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 288
      functionLinenumberEnd: 296
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          49
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ixmlDocument_free
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:290,3'
          Dst:             ixmlDocument_free
        - Src:             'upnp/src/api/upnpapi.c:293,3'
          Dst:             ixmlDocument_free
    - functionName:    UpnpSendActionExAsync
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3161
      functionLinenumberEnd: 3280
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          262
      EdgeCount:       47
      CyclomaticComplexity: 14
      functionsReached:
        - GetHandleInfo
        - HandleReadLock
        - HandleUnlock
        - TPJobInit
        - TPJobSetFreeFunction
        - TPJobSetPriority
        - ThreadPoolAdd
        - UpnpPrintf
        - UpnpSendActionAsync
        - UpnpThreadDistribution
        - free_action_arg
        - ixmlDocument_free
        - ixmlFreeDOMString
        - ixmlParseBufferEx
        - ixmlPrintNode
        - strncpy
      functionUses:    0
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:3195,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3177,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:3184,12'
          Dst:             UpnpSendActionAsync
        - Src:             'upnp/src/api/upnpapi.c:3194,2'
          Dst:             HandleReadLock
        - Src:             'upnp/src/api/upnpapi.c:3195,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:3199,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:3202,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:3211,14'
          Dst:             ixmlPrintNode
        - Src:             'upnp/src/api/upnpapi.c:3213,11'
          Dst:             ixmlPrintNode
        - Src:             'upnp/src/api/upnpapi.c:3215,3'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/api/upnpapi.c:3222,3'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/api/upnpapi.c:3223,3'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/api/upnpapi.c:3230,2'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:3231,2'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:3234,11'
          Dst:             ixmlParseBufferEx
        - Src:             'upnp/src/api/upnpapi.c:3237,3'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/api/upnpapi.c:3238,3'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/api/upnpapi.c:3246,11'
          Dst:             ixmlParseBufferEx
        - Src:             'upnp/src/api/upnpapi.c:3248,3'
          Dst:             ixmlDocument_free
        - Src:             'upnp/src/api/upnpapi.c:3250,3'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/api/upnpapi.c:3251,3'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/api/upnpapi.c:3259,2'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/api/upnpapi.c:3260,2'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/api/upnpapi.c:3265,2'
          Dst:             TPJobInit
        - Src:             'upnp/src/api/upnpapi.c:3265,2'
          Dst:             UpnpThreadDistribution
        - Src:             'upnp/src/api/upnpapi.c:3266,2'
          Dst:             TPJobSetFreeFunction
        - Src:             'upnp/src/api/upnpapi.c:3266,2'
          Dst:             free_action_arg
        - Src:             'upnp/src/api/upnpapi.c:3268,2'
          Dst:             TPJobSetPriority
        - Src:             'upnp/src/api/upnpapi.c:3269,6'
          Dst:             ThreadPoolAdd
        - Src:             'upnp/src/api/upnpapi.c:3270,3'
          Dst:             free_action_arg
        - Src:             'upnp/src/api/upnpapi.c:3273,2'
          Dst:             UpnpPrintf
    - functionName:    UpnpSendActionAsync
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3061
      functionLinenumberEnd: 3151
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          202
      EdgeCount:       41
      CyclomaticComplexity: 12
      functionsReached:
        - GetHandleInfo
        - HandleReadLock
        - HandleUnlock
        - TPJobInit
        - TPJobSetFreeFunction
        - TPJobSetPriority
        - ThreadPoolAdd
        - UpnpPrintf
        - UpnpThreadDistribution
        - free_action_arg
        - ixmlFreeDOMString
        - ixmlParseBufferEx
        - ixmlPrintNode
        - strncpy
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:3085,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3078,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:3084,2'
          Dst:             HandleReadLock
        - Src:             'upnp/src/api/upnpapi.c:3085,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:3089,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:3092,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:3101,11'
          Dst:             ixmlPrintNode
        - Src:             'upnp/src/api/upnpapi.c:3110,3'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/api/upnpapi.c:3117,2'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:3118,2'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:3122,7'
          Dst:             ixmlParseBufferEx
        - Src:             'upnp/src/api/upnpapi.c:3125,3'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/api/upnpapi.c:3132,2'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/api/upnpapi.c:3136,2'
          Dst:             TPJobInit
        - Src:             'upnp/src/api/upnpapi.c:3136,2'
          Dst:             UpnpThreadDistribution
        - Src:             'upnp/src/api/upnpapi.c:3137,2'
          Dst:             TPJobSetFreeFunction
        - Src:             'upnp/src/api/upnpapi.c:3137,2'
          Dst:             free_action_arg
        - Src:             'upnp/src/api/upnpapi.c:3139,2'
          Dst:             TPJobSetPriority
        - Src:             'upnp/src/api/upnpapi.c:3140,6'
          Dst:             ThreadPoolAdd
        - Src:             'upnp/src/api/upnpapi.c:3141,3'
          Dst:             free_action_arg
        - Src:             'upnp/src/api/upnpapi.c:3144,2'
          Dst:             UpnpPrintf
    - functionName:    UpnpSendActionEx
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3003
      functionLinenumberEnd: 3052
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          123
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - GetHandleInfo
        - HandleReadLock
        - HandleUnlock
        - SoapSendActionEx
        - UpnpPrintf
        - UpnpSendAction
      functionUses:    0
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:3029,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3015,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:3019,12'
          Dst:             UpnpSendAction
        - Src:             'upnp/src/api/upnpapi.c:3028,2'
          Dst:             HandleReadLock
        - Src:             'upnp/src/api/upnpapi.c:3029,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:3033,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:3036,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:3045,11'
          Dst:             SoapSendActionEx
        - Src:             'upnp/src/api/upnpapi.c:3048,2'
          Dst:             UpnpPrintf
    - functionName:    UpnpSendAction
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2945
      functionLinenumberEnd: 2994
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          123
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - GetHandleInfo
        - HandleReadLock
        - HandleUnlock
        - SoapSendAction
        - UpnpPrintf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:2969,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:2957,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:2960,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:2968,2'
          Dst:             HandleReadLock
        - Src:             'upnp/src/api/upnpapi.c:2969,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:2973,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2976,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2988,11'
          Dst:             SoapSendAction
        - Src:             'upnp/src/api/upnpapi.c:2990,2'
          Dst:             UpnpPrintf
    - functionName:    UpnpAcceptSubscriptionExt
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2854
      functionLinenumberEnd: 2926
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          105
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - GetHandleInfo
        - HandleReadLock
        - HandleUnlock
        - UpnpPrintf
        - genaInitNotifyExt
      functionUses:    0
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:2875,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:2861,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:2873,2'
          Dst:             HandleReadLock
        - Src:             'upnp/src/api/upnpapi.c:2875,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:2879,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2885,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2891,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2897,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2913,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2916,8'
          Dst:             genaInitNotifyExt
        - Src:             'upnp/src/api/upnpapi.c:2919,2'
          Dst:             UpnpPrintf
    - functionName:    UpnpAcceptSubscription
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2771
      functionLinenumberEnd: 2846
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          117
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - GetHandleInfo
        - HandleReadLock
        - HandleUnlock
        - UpnpPrintf
        - genaInitNotify
      functionUses:    0
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:2794,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:2780,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:2792,2'
          Dst:             HandleReadLock
        - Src:             'upnp/src/api/upnpapi.c:2794,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:2798,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2804,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2810,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2816,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2832,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2835,8'
          Dst:             genaInitNotify
        - Src:             'upnp/src/api/upnpapi.c:2839,2'
          Dst:             UpnpPrintf
    - functionName:    UpnpNotifyExt
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2725
      functionLinenumberEnd: 2760
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          85
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - GetHandleInfo
        - HandleReadLock
        - HandleUnlock
        - UpnpPrintf
        - genaNotifyAllExt
      functionUses:    0
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:2738,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:2735,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:2737,2'
          Dst:             HandleReadLock
        - Src:             'upnp/src/api/upnpapi.c:2738,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:2742,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2746,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2750,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2754,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2755,11'
          Dst:             genaNotifyAllExt
        - Src:             'upnp/src/api/upnpapi.c:2757,2'
          Dst:             UpnpPrintf
    - functionName:    UpnpNotify
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2677
      functionLinenumberEnd: 2719
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          122
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - GetHandleInfo
        - HandleReadLock
        - HandleUnlock
        - UpnpPrintf
        - genaNotifyAll
      functionUses:    0
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:2692,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:2689,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:2691,2'
          Dst:             HandleReadLock
        - Src:             'upnp/src/api/upnpapi.c:2692,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:2696,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2700,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2704,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2708,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2712,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2713,11'
          Dst:             genaNotifyAll
        - Src:             'upnp/src/api/upnpapi.c:2716,2'
          Dst:             UpnpPrintf
    - functionName:    UpnpRenewSubscriptionAsync
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2601
      functionLinenumberEnd: 2667
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          149
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - GetHandleInfo
        - HandleReadLock
        - HandleUnlock
        - TPJobInit
        - TPJobSetFreeFunction
        - TPJobSetPriority
        - ThreadPoolAdd
        - UpnpPrintf
        - UpnpThreadDistribution
        - strncpy
      functionUses:    0
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:2618,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:2612,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:2617,2'
          Dst:             HandleReadLock
        - Src:             'upnp/src/api/upnpapi.c:2618,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:2622,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2626,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2630,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2634,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2637,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2648,2'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:2653,2'
          Dst:             TPJobInit
        - Src:             'upnp/src/api/upnpapi.c:2653,2'
          Dst:             UpnpThreadDistribution
        - Src:             'upnp/src/api/upnpapi.c:2654,2'
          Dst:             TPJobSetFreeFunction
        - Src:             'upnp/src/api/upnpapi.c:2655,2'
          Dst:             TPJobSetPriority
        - Src:             'upnp/src/api/upnpapi.c:2656,6'
          Dst:             ThreadPoolAdd
        - Src:             'upnp/src/api/upnpapi.c:2660,2'
          Dst:             UpnpPrintf
    - functionName:    UpnpRenewSubscription
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2537
      functionLinenumberEnd: 2591
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          88
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - GetHandleInfo
        - HandleReadLock
        - HandleUnlock
        - UpnpPrintf
        - UpnpString_delete
        - UpnpString_new
        - UpnpString_set_String
        - genaRenewSubscription
      functionUses:    0
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:2569,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:2540,26'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/upnpapi.c:2542,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:2561,2'
          Dst:             UpnpString_set_String
        - Src:             'upnp/src/api/upnpapi.c:2568,2'
          Dst:             HandleReadLock
        - Src:             'upnp/src/api/upnpapi.c:2569,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:2573,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2577,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2579,11'
          Dst:             genaRenewSubscription
        - Src:             'upnp/src/api/upnpapi.c:2582,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:2589,2'
          Dst:             UpnpString_delete
    - functionName:    UpnpUnSubscribeAsync
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2464
      functionLinenumberEnd: 2530
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          119
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - GetHandleInfo
        - HandleReadLock
        - HandleUnlock
        - TPJobInit
        - TPJobSetFreeFunction
        - TPJobSetPriority
        - ThreadPoolAdd
        - UpnpPrintf
        - UpnpThreadDistribution
        - strncpy
      functionUses:    0
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:2493,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:2472,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:2492,2'
          Dst:             HandleReadLock
        - Src:             'upnp/src/api/upnpapi.c:2493,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:2497,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2501,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2513,2'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:2516,2'
          Dst:             TPJobInit
        - Src:             'upnp/src/api/upnpapi.c:2516,2'
          Dst:             UpnpThreadDistribution
        - Src:             'upnp/src/api/upnpapi.c:2517,2'
          Dst:             TPJobSetFreeFunction
        - Src:             'upnp/src/api/upnpapi.c:2518,2'
          Dst:             TPJobSetPriority
        - Src:             'upnp/src/api/upnpapi.c:2519,6'
          Dst:             ThreadPoolAdd
        - Src:             'upnp/src/api/upnpapi.c:2524,2'
          Dst:             UpnpPrintf
    - functionName:    UpnpUnSubscribe
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2409
      functionLinenumberEnd: 2455
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          77
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - GetHandleInfo
        - HandleReadLock
        - HandleUnlock
        - UpnpPrintf
        - UpnpString_delete
        - UpnpString_new
        - UpnpString_set_String
        - genaUnSubscribe
      functionUses:    0
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:2433,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:2412,26'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/upnpapi.c:2414,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:2430,2'
          Dst:             UpnpString_set_String
        - Src:             'upnp/src/api/upnpapi.c:2432,2'
          Dst:             HandleReadLock
        - Src:             'upnp/src/api/upnpapi.c:2433,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:2437,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2441,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2443,11'
          Dst:             genaUnSubscribe
        - Src:             'upnp/src/api/upnpapi.c:2446,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:2453,2'
          Dst:             UpnpString_delete
    - functionName:    UpnpSubscribe
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2339
      functionLinenumberEnd: 2403
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          121
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - GetHandleInfo
        - HandleReadLock
        - HandleUnlock
        - UpnpPrintf
        - UpnpString_delete
        - UpnpString_get_String
        - UpnpString_new
        - UpnpString_set_String
        - genaSubscribe
        - strncpy
      functionUses:    0
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:2378,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:2342,23'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/upnpapi.c:2343,26'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/upnpapi.c:2345,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:2360,2'
          Dst:             UpnpString_set_String
        - Src:             'upnp/src/api/upnpapi.c:2370,2'
          Dst:             UpnpString_set_String
        - Src:             'upnp/src/api/upnpapi.c:2377,2'
          Dst:             HandleReadLock
        - Src:             'upnp/src/api/upnpapi.c:2378,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:2382,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2386,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2388,11'
          Dst:             genaSubscribe
        - Src:             'upnp/src/api/upnpapi.c:2390,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/upnpapi.c:2390,2'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:2393,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:2400,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/api/upnpapi.c:2401,2'
          Dst:             UpnpString_delete
    - functionName:    UpnpSubscribeAsync
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2263
      functionLinenumberEnd: 2331
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          152
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - GetHandleInfo
        - HandleReadLock
        - HandleUnlock
        - TPJobInit
        - TPJobSetFreeFunction
        - TPJobSetPriority
        - ThreadPoolAdd
        - UpnpPrintf
        - UpnpThreadDistribution
        - strncpy
      functionUses:    0
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:2282,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:2275,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:2281,2'
          Dst:             HandleReadLock
        - Src:             'upnp/src/api/upnpapi.c:2282,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:2286,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2290,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2294,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2298,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2301,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2312,2'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:2317,2'
          Dst:             TPJobInit
        - Src:             'upnp/src/api/upnpapi.c:2317,2'
          Dst:             UpnpThreadDistribution
        - Src:             'upnp/src/api/upnpapi.c:2318,2'
          Dst:             TPJobSetFreeFunction
        - Src:             'upnp/src/api/upnpapi.c:2319,2'
          Dst:             TPJobSetPriority
        - Src:             'upnp/src/api/upnpapi.c:2320,6'
          Dst:             ThreadPoolAdd
        - Src:             'upnp/src/api/upnpapi.c:2324,2'
          Dst:             UpnpPrintf
    - functionName:    UpnpSetMaxSubscriptionTimeOut
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2216
      functionLinenumberEnd: 2254
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          72
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - GetHandleInfo
        - HandleLock
        - HandleUnlock
        - UpnpPrintf
      functionUses:    0
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:2231,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:2223,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:2229,2'
          Dst:             HandleLock
        - Src:             'upnp/src/api/upnpapi.c:2231,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:2235,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2240,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2245,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2247,2'
          Dst:             UpnpPrintf
    - functionName:    UpnpSetMaxSubscriptions
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2175
      functionLinenumberEnd: 2210
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          72
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - GetHandleInfo
        - HandleLock
        - HandleUnlock
        - UpnpPrintf
      functionUses:    0
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:2189,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:2182,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:2188,2'
          Dst:             HandleLock
        - Src:             'upnp/src/api/upnpapi.c:2189,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:2193,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2197,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2201,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2203,2'
          Dst:             UpnpPrintf
    - functionName:    UpnpSearchAsync
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2122
      functionLinenumberEnd: 2162
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          95
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - GetHandleInfo
        - HandleReadLock
        - HandleUnlock
        - SearchByTarget
        - UpnpPrintf
      functionUses:    0
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:2135,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:2131,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:2134,2'
          Dst:             HandleReadLock
        - Src:             'upnp/src/api/upnpapi.c:2135,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:2139,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2146,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2150,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2151,11'
          Dst:             SearchByTarget
        - Src:             'upnp/src/api/upnpapi.c:2155,2'
          Dst:             UpnpPrintf
    - functionName:    free_advertise_arg
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 277
      functionLinenumberEnd: 282
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    AutoAdvertise
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4440
      functionLinenumberEnd: 4446
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpSendAdvertisement
        - free_advertise_arg
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:4443,2'
          Dst:             UpnpSendAdvertisement
        - Src:             'upnp/src/api/upnpapi.c:4445,2'
          Dst:             free_advertise_arg
    - functionName:    UpnpSendAdvertisement
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1988
      functionLinenumberEnd: 1994
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpPrintf
        - UpnpSendAdvertisementLowPower
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:1989,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1994,9'
          Dst:             UpnpSendAdvertisementLowPower
    - functionName:    UpnpSendAdvertisementLowPower
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2002
      functionLinenumberEnd: 2111
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          206
      EdgeCount:       35
      CyclomaticComplexity: 8
      functionsReached:
        - AdvertiseAndReply
        - AutoAdvertise
        - GetHandleInfo
        - HandleLock
        - HandleUnlock
        - TPJobInit
        - TPJobSetFreeFunction
        - TPJobSetPriority
        - TimerThreadSchedule
        - UpnpPrintf
        - free_advertise_arg
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:2021,2'
          Branch Sides:    []
        - Branch String:   'upnp/src/api/upnpapi.c:2064,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:2014,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:2020,2'
          Dst:             HandleLock
        - Src:             'upnp/src/api/upnpapi.c:2021,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:2025,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2038,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2039,11'
          Dst:             AdvertiseAndReply
        - Src:             'upnp/src/api/upnpapi.c:2063,2'
          Dst:             HandleLock
        - Src:             'upnp/src/api/upnpapi.c:2064,10'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/api/upnpapi.c:2068,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2074,2'
          Dst:             TPJobInit
        - Src:             'upnp/src/api/upnpapi.c:2074,2'
          Dst:             AutoAdvertise
        - Src:             'upnp/src/api/upnpapi.c:2075,2'
          Dst:             TPJobSetFreeFunction
        - Src:             'upnp/src/api/upnpapi.c:2075,2'
          Dst:             free_advertise_arg
        - Src:             'upnp/src/api/upnpapi.c:2076,2'
          Dst:             TPJobSetPriority
        - Src:             'upnp/src/api/upnpapi.c:2077,16'
          Dst:             TimerThreadSchedule
        - Src:             'upnp/src/api/upnpapi.c:2083,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2084,3'
          Dst:             free_advertise_arg
        - Src:             'upnp/src/api/upnpapi.c:2103,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:2104,2'
          Dst:             UpnpPrintf
    - functionName:    UpnpRegisterClient
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1618
      functionLinenumberEnd: 1668
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          126
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - GetFreeHandle
        - HandleLock
        - HandleUnlock
        - ListInit
        - UpnpPrintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:1623,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1631,2'
          Dst:             HandleLock
        - Src:             'upnp/src/api/upnpapi.c:1635,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:1638,14'
          Dst:             GetFreeHandle
        - Src:             'upnp/src/api/upnpapi.c:1639,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:1644,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:1651,2'
          Dst:             ListInit
        - Src:             'upnp/src/api/upnpapi.c:1659,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:1661,2'
          Dst:             UpnpPrintf
    - functionName:    GetFreeHandle
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 898
      functionLinenumberEnd: 909
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          50
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpRegisterRootDevice4
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1346
      functionLinenumberEnd: 1513
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          321
      EdgeCount:       53
      CyclomaticComplexity: 15
      functionsReached:
        - FreeHandle
        - GetFreeHandle
        - HandleLock
        - HandleUnlock
        - ListDestroy
        - ListInit
        - UpnpDownloadXmlDoc
        - UpnpPrintf
        - getServiceTable
        - ixmlDocument_free
        - ixmlDocument_getElementsByTagName
        - printServiceTable
        - strlen
        - strncpy
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:1494,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:1353,2'
          Dst:             HandleLock
        - Src:             'upnp/src/api/upnpapi.c:1355,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1365,3'
          Dst:             strlen
        - Src:             'upnp/src/api/upnpapi.c:1370,9'
          Dst:             GetFreeHandle
        - Src:             'upnp/src/api/upnpapi.c:1382,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1390,2'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:1392,3'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:1396,3'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:1399,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1413,2'
          Dst:             ListInit
        - Src:             'upnp/src/api/upnpapi.c:1419,11'
          Dst:             UpnpDownloadXmlDoc
        - Src:             'upnp/src/api/upnpapi.c:1422,3'
          Dst:             ListDestroy
        - Src:             'upnp/src/api/upnpapi.c:1424,3'
          Dst:             FreeHandle
        - Src:             'upnp/src/api/upnpapi.c:1427,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1435,22'
          Dst:             ixmlDocument_getElementsByTagName
        - Src:             'upnp/src/api/upnpapi.c:1439,3'
          Dst:             ListDestroy
        - Src:             'upnp/src/api/upnpapi.c:1441,3'
          Dst:             ixmlDocument_free
        - Src:             'upnp/src/api/upnpapi.c:1442,3'
          Dst:             FreeHandle
        - Src:             'upnp/src/api/upnpapi.c:1443,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1453,23'
          Dst:             ixmlDocument_getElementsByTagName
        - Src:             'upnp/src/api/upnpapi.c:1456,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1468,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1474,20'
          Dst:             getServiceTable
        - Src:             'upnp/src/api/upnpapi.c:1478,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1484,3'
          Dst:             printServiceTable
        - Src:             'upnp/src/api/upnpapi.c:1486,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1505,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1511,2'
          Dst:             HandleUnlock
    - functionName:    UpnpDownloadXmlDoc
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3618
      functionLinenumberEnd: 3698
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          109
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - UpnpDownloadUrlItem
        - UpnpPrintf
        - ixmlFreeDOMString
        - ixmlParseBufferEx
        - ixmlPrintNode
        - strncasecmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3627,13'
          Dst:             UpnpDownloadUrlItem
        - Src:             'upnp/src/api/upnpapi.c:3629,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:3638,6'
          Dst:             strncasecmp
        - Src:             'upnp/src/api/upnpapi.c:3639,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:3653,13'
          Dst:             ixmlParseBufferEx
        - Src:             'upnp/src/api/upnpapi.c:3657,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:3665,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:3675,13'
          Dst:             ixmlPrintNode
        - Src:             'upnp/src/api/upnpapi.c:3676,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:3682,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:3688,3'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/api/upnpapi.c:3690,3'
          Dst:             UpnpPrintf
    - functionName:    UpnpRegisterRootDevice3
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1328
      functionLinenumberEnd: 1335
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpPrintf
        - UpnpRegisterRootDevice4
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:1329,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1334,9'
          Dst:             UpnpRegisterRootDevice4
    - functionName:    GetDescDocumentAndURL
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1800
      functionLinenumberEnd: 1942
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         69
      ICount:          407
      EdgeCount:       94
      CyclomaticComplexity: 27
      functionsReached:
        - GetNameForAlias
        - UpnpDownloadXmlDoc
        - __assert_fail
        - configure_urlbase
        - fclose
        - fileno
        - fopen
        - fread
        - fstat
        - get_server_addr
        - get_server_addr6
        - ixmlDocument_free
        - ixmlParseBufferEx
        - strlen
        - strncpy
        - time
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:1823,12'
          Dst:             UpnpDownloadXmlDoc
        - Src:             'upnp/src/api/upnpapi.c:1826,19'
          Dst:             time
        - Src:             'upnp/src/api/upnpapi.c:1834,8'
          Dst:             fopen
        - Src:             'upnp/src/api/upnpapi.c:1841,8'
          Dst:             fileno
        - Src:             'upnp/src/api/upnpapi.c:1847,12'
          Dst:             fstat
        - Src:             'upnp/src/api/upnpapi.c:1861,14'
          Dst:             fread
        - Src:             'upnp/src/api/upnpapi.c:1868,8'
          Dst:             ixmlParseBufferEx
        - Src:             'upnp/src/api/upnpapi.c:1875,4'
          Dst:             fclose
        - Src:             'upnp/src/api/upnpapi.c:1881,19'
          Dst:             time
        - Src:             'upnp/src/api/upnpapi.c:1882,8'
          Dst:             ixmlParseBufferEx
        - Src:             'upnp/src/api/upnpapi.c:1897,4'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:1902,13'
          Dst:             GetNameForAlias
        - Src:             'upnp/src/api/upnpapi.c:1904,5'
          Dst:             ixmlDocument_free
        - Src:             'upnp/src/api/upnpapi.c:1907,8'
          Dst:             strlen
        - Src:             'upnp/src/api/upnpapi.c:1908,5'
          Dst:             ixmlDocument_free
        - Src:             'upnp/src/api/upnpapi.c:1911,4'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:1914,4'
          Dst:             get_server_addr
        - Src:             'upnp/src/api/upnpapi.c:1916,4'
          Dst:             get_server_addr6
        - Src:             'upnp/src/api/upnpapi.c:1920,12'
          Dst:             configure_urlbase
        - Src:             'upnp/src/api/upnpapi.c:1926,4'
          Dst:             ixmlDocument_free
        - Src:             'upnp/src/api/upnpapi.c:1931,7'
          Dst:             strlen
        - Src:             'upnp/src/api/upnpapi.c:1932,4'
          Dst:             ixmlDocument_free
        - Src:             'upnp/src/api/upnpapi.c:1935,3'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:1939,2'
          Dst:             __assert_fail
    - functionName:    time
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    17
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fopen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fileno
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fstat
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fread
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fclose
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpRegisterRootDevice2
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1158
      functionLinenumberEnd: 1318
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - size_t
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          261
      EdgeCount:       34
      CyclomaticComplexity: 11
      functionsReached:
        - FreeHandle
        - GetDescDocumentAndURL
        - GetFreeHandle
        - HandleLock
        - HandleUnlock
        - ListDestroy
        - ListInit
        - UpnpPrintf
        - getServiceTable
        - ixmlDocument_free
        - ixmlDocument_getElementsByTagName
        - printServiceTable
        - strncpy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:1167,2'
          Dst:             HandleLock
        - Src:             'upnp/src/api/upnpapi.c:1169,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1185,9'
          Dst:             GetFreeHandle
        - Src:             'upnp/src/api/upnpapi.c:1202,11'
          Dst:             GetDescDocumentAndURL
        - Src:             'upnp/src/api/upnpapi.c:1209,3'
          Dst:             FreeHandle
        - Src:             'upnp/src/api/upnpapi.c:1213,2'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:1216,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1231,2'
          Dst:             ListInit
        - Src:             'upnp/src/api/upnpapi.c:1238,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1246,22'
          Dst:             ixmlDocument_getElementsByTagName
        - Src:             'upnp/src/api/upnpapi.c:1250,3'
          Dst:             ListDestroy
        - Src:             'upnp/src/api/upnpapi.c:1252,3'
          Dst:             ixmlDocument_free
        - Src:             'upnp/src/api/upnpapi.c:1253,3'
          Dst:             FreeHandle
        - Src:             'upnp/src/api/upnpapi.c:1254,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1264,23'
          Dst:             ixmlDocument_getElementsByTagName
        - Src:             'upnp/src/api/upnpapi.c:1267,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1279,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1285,20'
          Dst:             getServiceTable
        - Src:             'upnp/src/api/upnpapi.c:1289,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1295,3'
          Dst:             printServiceTable
        - Src:             'upnp/src/api/upnpapi.c:1297,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1310,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1316,2'
          Dst:             HandleUnlock
    - functionName:    UpnpRegisterRootDevice
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 962
      functionLinenumberEnd: 1129
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          270
      EdgeCount:       40
      CyclomaticComplexity: 13
      functionsReached:
        - FreeHandle
        - GetFreeHandle
        - HandleLock
        - HandleUnlock
        - ListDestroy
        - ListInit
        - UpnpDownloadXmlDoc
        - UpnpPrintf
        - getServiceTable
        - ixmlDocument_free
        - ixmlDocument_getElementsByTagName
        - printServiceTable
        - strlen
        - strncpy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:969,2'
          Dst:             HandleLock
        - Src:             'upnp/src/api/upnpapi.c:971,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:983,3'
          Dst:             strlen
        - Src:             'upnp/src/api/upnpapi.c:988,9'
          Dst:             GetFreeHandle
        - Src:             'upnp/src/api/upnpapi.c:1002,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1011,2'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:1012,2'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:1013,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1027,2'
          Dst:             ListInit
        - Src:             'upnp/src/api/upnpapi.c:1034,11'
          Dst:             UpnpDownloadXmlDoc
        - Src:             'upnp/src/api/upnpapi.c:1036,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1044,3'
          Dst:             ListDestroy
        - Src:             'upnp/src/api/upnpapi.c:1046,3'
          Dst:             FreeHandle
        - Src:             'upnp/src/api/upnpapi.c:1049,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1057,22'
          Dst:             ixmlDocument_getElementsByTagName
        - Src:             'upnp/src/api/upnpapi.c:1061,3'
          Dst:             ListDestroy
        - Src:             'upnp/src/api/upnpapi.c:1063,3'
          Dst:             ixmlDocument_free
        - Src:             'upnp/src/api/upnpapi.c:1064,3'
          Dst:             FreeHandle
        - Src:             'upnp/src/api/upnpapi.c:1065,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1075,23'
          Dst:             ixmlDocument_getElementsByTagName
        - Src:             'upnp/src/api/upnpapi.c:1078,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1090,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1096,20'
          Dst:             getServiceTable
        - Src:             'upnp/src/api/upnpapi.c:1100,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1106,3'
          Dst:             printServiceTable
        - Src:             'upnp/src/api/upnpapi.c:1108,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1121,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:1127,2'
          Dst:             HandleUnlock
    - functionName:    UpnpGetServerUlaGuaIp6Address
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 880
      functionLinenumberEnd: 889
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         4
      ICount:          20
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpGetServerIp6Address
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 868
      functionLinenumberEnd: 877
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         4
      ICount:          20
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpGetServerIpAddress
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 860
      functionLinenumberEnd: 865
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         4
      ICount:          20
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpGetSsdpReqPort6
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 843
      functionLinenumberEnd: 857
      functionDepth:   0
      returnType:      short
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          52
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - getsockname
        - ntohs
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:851,6'
          Dst:             getsockname
        - Src:             'upnp/src/api/upnpapi.c:853,9'
          Dst:             ntohs
    - functionName:    getsockname
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ntohs
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpGetSsdpReqPort4
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 826
      functionLinenumberEnd: 840
      functionDepth:   0
      returnType:      short
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          52
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - getsockname
        - ntohs
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:834,6'
          Dst:             getsockname
        - Src:             'upnp/src/api/upnpapi.c:836,9'
          Dst:             ntohs
    - functionName:    UpnpGetServerUlaGuaPort6
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 814
      functionLinenumberEnd: 823
      functionDepth:   0
      returnType:      short
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpGetServerPort6
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 802
      functionLinenumberEnd: 811
      functionDepth:   0
      returnType:      short
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpGetServerPort
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 794
      functionLinenumberEnd: 799
      functionDepth:   0
      returnType:      short
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpInitStartServers
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 509
      functionLinenumberEnd: 554
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          59
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - StartMiniServer
        - UpnpEnableWebserver
        - UpnpFinish
        - UpnpPrintf
        - membuffer_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:514,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:524,11'
          Dst:             StartMiniServer
        - Src:             'upnp/src/api/upnpapi.c:527,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:532,3'
          Dst:             UpnpFinish
        - Src:             'upnp/src/api/upnpapi.c:538,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/api/upnpapi.c:539,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/api/upnpapi.c:540,11'
          Dst:             UpnpEnableWebserver
        - Src:             'upnp/src/api/upnpapi.c:542,3'
          Dst:             UpnpFinish
        - Src:             'upnp/src/api/upnpapi.c:547,2'
          Dst:             UpnpPrintf
    - functionName:    UpnpGetIfInfo
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3724
      functionLinenumberEnd: 4128
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         89
      ICount:          503
      EdgeCount:       119
      CyclomaticComplexity: 32
      functionsReached:
        - UpnpComputeIpv6PrefixLength
        - UpnpPrintf
        - freeifaddrs
        - getifaddrs
        - htonl
        - if_nametoindex
        - inet_ntop
        - strlen
        - strncmp
        - strncpy
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpapi.c:4006,3'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:3952,7'
          Dst:             strlen
        - Src:             'upnp/src/api/upnpapi.c:3956,3'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:3967,6'
          Dst:             getifaddrs
        - Src:             'upnp/src/api/upnpapi.c:3968,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:3994,4'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpapi.c:3997,8'
          Dst:             strncmp
        - Src:             'upnp/src/api/upnpapi.c:4019,8'
          Dst:             htonl
        - Src:             'upnp/src/api/upnpapi.c:4019,8'
          Dst:             htonl
        - Src:             'upnp/src/api/upnpapi.c:4028,23'
          Dst:             UpnpComputeIpv6PrefixLength
        - Src:             'upnp/src/api/upnpapi.c:4032,15'
          Dst:             htonl
        - Src:             'upnp/src/api/upnpapi.c:4032,15'
          Dst:             htonl
        - Src:             'upnp/src/api/upnpapi.c:4036,8'
          Dst:             strlen
        - Src:             'upnp/src/api/upnpapi.c:4044,23'
          Dst:             UpnpComputeIpv6PrefixLength
        - Src:             'upnp/src/api/upnpapi.c:4048,15'
          Dst:             htonl
        - Src:             'upnp/src/api/upnpapi.c:4048,15'
          Dst:             htonl
        - Src:             'upnp/src/api/upnpapi.c:4057,17'
          Dst:             UpnpComputeIpv6PrefixLength
        - Src:             'upnp/src/api/upnpapi.c:4076,2'
          Dst:             freeifaddrs
        - Src:             'upnp/src/api/upnpapi.c:4085,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:4094,3'
          Dst:             inet_ntop
        - Src:             'upnp/src/api/upnpapi.c:4095,3'
          Dst:             inet_ntop
        - Src:             'upnp/src/api/upnpapi.c:4100,14'
          Dst:             if_nametoindex
        - Src:             'upnp/src/api/upnpapi.c:4103,4'
          Dst:             inet_ntop
        - Src:             'upnp/src/api/upnpapi.c:4108,4'
          Dst:             inet_ntop
        - Src:             'upnp/src/api/upnpapi.c:4116,2'
          Dst:             UpnpPrintf
    - functionName:    getifaddrs
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    htonl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    18
      BranchProfiles:  []
      Callsites:       []
    - functionName:    freeifaddrs
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    inet_ntop
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    if_nametoindex
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpInitPreamble
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 422
      functionLinenumberEnd: 496
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         18
      ICount:          110
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - HandleLock
        - HandleUnlock
        - SetGenaCallback
        - SetSoapCallback
        - TimerThreadInit
        - UpnpFinish
        - UpnpInitLog
        - UpnpInitMutexes
        - UpnpInitThreadPools
        - UpnpPrintf
        - WinsockInit
        - genaCallback
        - soap_device_callback
        - srand
        - time
        - upnp_uuid_unpack
        - uuid_create
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:429,11'
          Dst:             WinsockInit
        - Src:             'upnp/src/api/upnpapi.c:435,22'
          Dst:             time
        - Src:             'upnp/src/api/upnpapi.c:435,2'
          Dst:             srand
        - Src:             'upnp/src/api/upnpapi.c:438,11'
          Dst:             UpnpInitLog
        - Src:             'upnp/src/api/upnpapi.c:444,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:451,11'
          Dst:             UpnpInitMutexes
        - Src:             'upnp/src/api/upnpapi.c:458,2'
          Dst:             uuid_create
        - Src:             'upnp/src/api/upnpapi.c:459,2'
          Dst:             upnp_uuid_unpack
        - Src:             'upnp/src/api/upnpapi.c:463,2'
          Dst:             HandleLock
        - Src:             'upnp/src/api/upnpapi.c:467,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/api/upnpapi.c:470,11'
          Dst:             UpnpInitThreadPools
        - Src:             'upnp/src/api/upnpapi.c:477,2'
          Dst:             SetSoapCallback
        - Src:             'upnp/src/api/upnpapi.c:477,2'
          Dst:             soap_device_callback
        - Src:             'upnp/src/api/upnpapi.c:483,2'
          Dst:             SetGenaCallback
        - Src:             'upnp/src/api/upnpapi.c:483,2'
          Dst:             genaCallback
        - Src:             'upnp/src/api/upnpapi.c:488,11'
          Dst:             TimerThreadInit
        - Src:             'upnp/src/api/upnpapi.c:490,3'
          Dst:             UpnpFinish
    - functionName:    srand
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ithread_initialize_library
      functionSourceFile: '/src/pupnp/upnp/inc/ithread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpInit2
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpapi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 557
      functionLinenumberEnd: 607
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          103
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - UpnpFinish
        - UpnpGetIfInfo
        - UpnpInitPreamble
        - UpnpInitStartServers
        - UpnpPrintf
        - ithread_initialize_library
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpapi.c:561,2'
          Dst:             ithread_initialize_library
        - Src:             'upnp/src/api/upnpapi.c:563,2'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/api/upnpapi.c:576,11'
          Dst:             UpnpInitPreamble
        - Src:             'upnp/src/api/upnpapi.c:581,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/api/upnpapi.c:590,11'
          Dst:             UpnpGetIfInfo
        - Src:             'upnp/src/api/upnpapi.c:596,11'
          Dst:             UpnpInitStartServers
        - Src:             'upnp/src/api/upnpapi.c:603,3'
          Dst:             UpnpFinish
        - Src:             'upnp/src/api/upnpapi.c:605,2'
          Dst:             pthread_mutex_unlock
    - functionName:    pthread_mutex_lock
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    29
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_mutex_unlock
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    41
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpGetDebugFile
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpdebug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 301
      functionLinenumberEnd: 307
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - DebugAtThisLevel
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpdebug.c:302,7'
          Dst:             DebugAtThisLevel
    - functionName:    DebugAtThisLevel
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpdebug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpDisplayFileAndLine
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpdebug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 259
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          95
      EdgeCount:       25
      CyclomaticComplexity: 14
      functionsReached:
        - fflush
        - fprintf
        - localtime
        - pthread_self
        - snprintf
        - strftime
        - time
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/api/upnpdebug.c:197,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/api/upnpdebug.c:179,15'
          Dst:             time
        - Src:             'upnp/src/api/upnpdebug.c:194,2'
          Dst:             snprintf
        - Src:             'upnp/src/api/upnpdebug.c:241,13'
          Dst:             localtime
        - Src:             'upnp/src/api/upnpdebug.c:242,2'
          Dst:             strftime
        - Src:             'upnp/src/api/upnpdebug.c:253,22'
          Dst:             pthread_self
        - Src:             'upnp/src/api/upnpdebug.c:245,2'
          Dst:             fprintf
        - Src:             'upnp/src/api/upnpdebug.c:258,2'
          Dst:             fflush
    - functionName:    localtime
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strftime
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_self
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    23
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fflush
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpPrintf
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpdebug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 270
      functionLinenumberEnd: 296
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - int
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          78
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - DebugAtThisLevel
        - UpnpDisplayFileAndLine
        - fflush
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - vfprintf
      functionUses:    365
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpdebug.c:279,7'
          Dst:             DebugAtThisLevel
        - Src:             'upnp/src/api/upnpdebug.c:281,2'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/api/upnpdebug.c:283,3'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/api/upnpdebug.c:289,3'
          Dst:             UpnpDisplayFileAndLine
        - Src:             'upnp/src/api/upnpdebug.c:291,3'
          Dst:             vfprintf
        - Src:             'upnp/src/api/upnpdebug.c:292,3'
          Dst:             fflush
        - Src:             'upnp/src/api/upnpdebug.c:295,2'
          Dst:             pthread_mutex_unlock
    - functionName:    vfprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpSetLogFileNames
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpdebug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          55
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpdebug.c:152,14'
          Dst:             strdup
    - functionName:    UpnpCloseLog
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpdebug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         11
      ICount:          47
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - fclose
        - pthread_mutex_destroy
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpdebug.c:131,2'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/api/upnpdebug.c:134,3'
          Dst:             fclose
        - Src:             'upnp/src/api/upnpdebug.c:139,2'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/api/upnpdebug.c:140,2'
          Dst:             pthread_mutex_destroy
    - functionName:    UpnpSetLogLevel
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpdebug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpInitLog
      functionSourceFile: '/src/pupnp/upnp/src/api/upnpdebug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         24
      ICount:          109
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - __errno_location
        - fclose
        - fopen
        - fprintf
        - pthread_mutex_init
        - strerror
        - strncpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/upnpdebug.c:75,3'
          Dst:             pthread_mutex_init
        - Src:             'upnp/src/api/upnpdebug.c:85,4'
          Dst:             fclose
        - Src:             'upnp/src/api/upnpdebug.c:97,13'
          Dst:             fopen
        - Src:             'upnp/src/api/upnpdebug.c:99,14'
          Dst:             __errno_location
        - Src:             'upnp/src/api/upnpdebug.c:99,5'
          Dst:             strerror
        - Src:             'upnp/src/api/upnpdebug.c:98,4'
          Dst:             strncpy
        - Src:             'upnp/src/api/upnpdebug.c:103,4'
          Dst:             fprintf
    - functionName:    strerror
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionComplete_clear_CtrlUrl
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionComplete.c:138,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpActionComplete_strncpy_CtrlUrl
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionComplete.c:133,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpActionComplete_strcpy_CtrlUrl
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionComplete.c:127,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpActionComplete_get_CtrlUrl_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 122
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpActionComplete_get_CtrlUrl
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionComplete.c:122,31'
          Dst:             UpnpActionComplete_get_CtrlUrl
        - Src:             'upnp/src/api/UpnpActionComplete.c:122,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpActionComplete_get_CtrlUrl
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionComplete_get_CtrlUrl_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 117
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpActionComplete_get_CtrlUrl
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionComplete.c:117,31'
          Dst:             UpnpActionComplete_get_CtrlUrl
        - Src:             'upnp/src/api/UpnpActionComplete.c:117,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpActionComplete_dup
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpActionComplete_assign
        - UpnpActionComplete_new
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionComplete.c:81,26'
          Dst:             UpnpActionComplete_new
        - Src:             'upnp/src/api/UpnpActionComplete.c:86,2'
          Dst:             UpnpActionComplete_assign
    - functionName:    UpnpActionComplete_new
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpString_new
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionComplete.c:31,3'
          Dst:             calloc
        - Src:             'upnp/src/api/UpnpActionComplete.c:37,17'
          Dst:             UpnpString_new
    - functionName:    UpnpActionComplete_assign
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          111
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - UpnpActionComplete_get_ActionRequest
        - UpnpActionComplete_get_ActionResult
        - UpnpActionComplete_get_CtrlUrl
        - UpnpActionComplete_get_ErrCode
        - UpnpActionComplete_set_ActionRequest
        - UpnpActionComplete_set_ActionResult
        - UpnpActionComplete_set_CtrlUrl
        - UpnpActionComplete_set_ErrCode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionComplete.c:67,11'
          Dst:             UpnpActionComplete_get_ErrCode
        - Src:             'upnp/src/api/UpnpActionComplete.c:66,14'
          Dst:             UpnpActionComplete_set_ErrCode
        - Src:             'upnp/src/api/UpnpActionComplete.c:69,11'
          Dst:             UpnpActionComplete_get_CtrlUrl
        - Src:             'upnp/src/api/UpnpActionComplete.c:68,14'
          Dst:             UpnpActionComplete_set_CtrlUrl
        - Src:             'upnp/src/api/UpnpActionComplete.c:71,11'
          Dst:             UpnpActionComplete_get_ActionRequest
        - Src:             'upnp/src/api/UpnpActionComplete.c:70,14'
          Dst:             UpnpActionComplete_set_ActionRequest
        - Src:             'upnp/src/api/UpnpActionComplete.c:73,11'
          Dst:             UpnpActionComplete_get_ActionResult
        - Src:             'upnp/src/api/UpnpActionComplete.c:72,14'
          Dst:             UpnpActionComplete_set_ActionResult
    - functionName:    UpnpActionComplete_get_ErrCode
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 92
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionComplete_set_ErrCode
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionComplete_set_CtrlUrl
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionComplete.c:110,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpActionComplete.c:112,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpActionComplete_get_ActionRequest
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionComplete_set_ActionRequest
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 148
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionComplete_get_ActionResult
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionComplete_set_ActionResult
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    calloc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionComplete_delete
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpString_delete
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionComplete.c:53,2'
          Dst:             UpnpString_delete
    - functionName:    UpnpEventSubscribe_clear_PublisherUrl
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEventSubscribe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:191,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpEventSubscribe_strncpy_PublisherUrl
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEventSubscribe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 185
      functionLinenumberEnd: 186
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:186,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpEventSubscribe_strcpy_PublisherUrl
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEventSubscribe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 179
      functionLinenumberEnd: 180
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:180,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpEventSubscribe_get_PublisherUrl_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEventSubscribe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpEventSubscribe_get_PublisherUrl
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:175,31'
          Dst:             UpnpEventSubscribe_get_PublisherUrl
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:175,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpEventSubscribe_get_PublisherUrl
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEventSubscribe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpEventSubscribe_get_PublisherUrl_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEventSubscribe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 168
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpEventSubscribe_get_PublisherUrl
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:169,31'
          Dst:             UpnpEventSubscribe_get_PublisherUrl
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:169,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpEventSubscribe_clear_SID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEventSubscribe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:150,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpEventSubscribe_strncpy_SID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEventSubscribe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:145,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpEventSubscribe_strcpy_SID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEventSubscribe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:139,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpEventSubscribe_get_SID_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEventSubscribe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 133
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpEventSubscribe_get_SID
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:134,31'
          Dst:             UpnpEventSubscribe_get_SID
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:134,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpEventSubscribe_get_SID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEventSubscribe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 117
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpEventSubscribe_get_SID_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEventSubscribe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpEventSubscribe_get_SID
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:129,31'
          Dst:             UpnpEventSubscribe_get_SID
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:129,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpEventSubscribe_dup
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEventSubscribe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpEventSubscribe_assign
        - UpnpEventSubscribe_new
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:81,26'
          Dst:             UpnpEventSubscribe_new
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:86,2'
          Dst:             UpnpEventSubscribe_assign
    - functionName:    UpnpEventSubscribe_new
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEventSubscribe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 28
      functionLinenumberEnd: 41
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpString_new
        - calloc
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:30,3'
          Dst:             calloc
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:37,13'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:38,22'
          Dst:             UpnpString_new
    - functionName:    UpnpEventSubscribe_assign
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEventSubscribe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 76
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          111
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - UpnpEventSubscribe_get_ErrCode
        - UpnpEventSubscribe_get_PublisherUrl
        - UpnpEventSubscribe_get_SID
        - UpnpEventSubscribe_get_TimeOut
        - UpnpEventSubscribe_set_ErrCode
        - UpnpEventSubscribe_set_PublisherUrl
        - UpnpEventSubscribe_set_SID
        - UpnpEventSubscribe_set_TimeOut
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:67,11'
          Dst:             UpnpEventSubscribe_get_ErrCode
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:66,14'
          Dst:             UpnpEventSubscribe_set_ErrCode
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:69,11'
          Dst:             UpnpEventSubscribe_get_TimeOut
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:68,14'
          Dst:             UpnpEventSubscribe_set_TimeOut
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:71,11'
          Dst:             UpnpEventSubscribe_get_SID
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:70,14'
          Dst:             UpnpEventSubscribe_set_SID
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:73,11'
          Dst:             UpnpEventSubscribe_get_PublisherUrl
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:72,14'
          Dst:             UpnpEventSubscribe_set_PublisherUrl
    - functionName:    UpnpEventSubscribe_get_ErrCode
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEventSubscribe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 92
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpEventSubscribe_set_ErrCode
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEventSubscribe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpEventSubscribe_get_TimeOut
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEventSubscribe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpEventSubscribe_set_TimeOut
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEventSubscribe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpEventSubscribe_set_SID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEventSubscribe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:122,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:124,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpEventSubscribe_set_PublisherUrl
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEventSubscribe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 161
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:162,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:164,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpEventSubscribe_delete
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEventSubscribe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpString_delete
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:50,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/api/UpnpEventSubscribe.c:52,2'
          Dst:             UpnpString_delete
    - functionName:    UpnpStateVarComplete_get_CurrentVal_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 208
      functionLinenumberEnd: 209
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpStateVarComplete_get_CurrentVal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:209,23'
          Dst:             UpnpStateVarComplete_get_CurrentVal
    - functionName:    UpnpStateVarComplete_get_CurrentVal
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 191
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpStateVarComplete_clear_StateVarName
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 186
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:185,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpStateVarComplete_strncpy_StateVarName
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 179
      functionLinenumberEnd: 180
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:180,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpStateVarComplete_strcpy_StateVarName
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:174,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpStateVarComplete_get_StateVarName_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 167
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpStateVarComplete_get_StateVarName
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:168,31'
          Dst:             UpnpStateVarComplete_get_StateVarName
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:168,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpStateVarComplete_get_StateVarName
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpStateVarComplete_get_StateVarName_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 161
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpStateVarComplete_get_StateVarName
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:162,31'
          Dst:             UpnpStateVarComplete_get_StateVarName
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:162,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpStateVarComplete_clear_CtrlUrl
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:142,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpStateVarComplete_strncpy_CtrlUrl
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:137,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpStateVarComplete_strcpy_CtrlUrl
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:131,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpStateVarComplete_get_CtrlUrl_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 126
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpStateVarComplete_get_CtrlUrl
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:126,31'
          Dst:             UpnpStateVarComplete_get_CtrlUrl
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:126,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpStateVarComplete_get_CtrlUrl
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpStateVarComplete_get_CtrlUrl_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpStateVarComplete_get_CtrlUrl
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:121,31'
          Dst:             UpnpStateVarComplete_get_CtrlUrl
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:121,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpStateVarComplete_dup
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpStateVarComplete_assign
        - UpnpStateVarComplete_new
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:83,28'
          Dst:             UpnpStateVarComplete_new
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:88,2'
          Dst:             UpnpStateVarComplete_assign
    - functionName:    UpnpStateVarComplete_new
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpString_new
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:31,3'
          Dst:             calloc
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:37,17'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:38,22'
          Dst:             UpnpString_new
    - functionName:    UpnpStateVarComplete_assign
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          111
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - UpnpStateVarComplete_get_CtrlUrl
        - UpnpStateVarComplete_get_CurrentVal
        - UpnpStateVarComplete_get_ErrCode
        - UpnpStateVarComplete_get_StateVarName
        - UpnpStateVarComplete_set_CtrlUrl
        - UpnpStateVarComplete_set_CurrentVal
        - UpnpStateVarComplete_set_ErrCode
        - UpnpStateVarComplete_set_StateVarName
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:69,11'
          Dst:             UpnpStateVarComplete_get_ErrCode
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:68,14'
          Dst:             UpnpStateVarComplete_set_ErrCode
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:71,11'
          Dst:             UpnpStateVarComplete_get_CtrlUrl
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:70,14'
          Dst:             UpnpStateVarComplete_set_CtrlUrl
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:73,11'
          Dst:             UpnpStateVarComplete_get_StateVarName
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:72,14'
          Dst:             UpnpStateVarComplete_set_StateVarName
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:75,11'
          Dst:             UpnpStateVarComplete_get_CurrentVal
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:74,14'
          Dst:             UpnpStateVarComplete_set_CurrentVal
    - functionName:    UpnpStateVarComplete_get_ErrCode
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpStateVarComplete_set_ErrCode
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpStateVarComplete_set_CtrlUrl
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:114,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:116,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpStateVarComplete_set_StateVarName
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:154,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:156,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpStateVarComplete_set_CurrentVal
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ixmlCloneDOMString
        - ixmlFreeDOMString
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:197,16'
          Dst:             ixmlCloneDOMString
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:200,2'
          Dst:             ixmlFreeDOMString
    - functionName:    UpnpStateVarComplete_delete
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarComplete.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          53
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpString_delete
        - ixmlFreeDOMString
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:51,2'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:53,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/api/UpnpStateVarComplete.c:55,2'
          Dst:             UpnpString_delete
    - functionName:    UpnpString_casecmp
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpString.c'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - strcasecmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpString.c:205,19'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpString.c:206,19'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpString.c:208,9'
          Dst:             strcasecmp
    - functionName:    UpnpString_get_String
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpString.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    78
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpString_cmp
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpString.c'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 200
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpString.c:197,19'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpString.c:198,19'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpString.c:200,9'
          Dst:             strcmp
    - functionName:    UpnpString_clear
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpString.c'
      linkageType:     InternalLinkage
      functionLinenumber: 189
      functionLinenumberEnd: 193
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    34
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpString_set_StringN
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpString.c'
      linkageType:     InternalLinkage
      functionLinenumber: 176
      functionLinenumberEnd: 185
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strlen
        - strndup
      functionUses:    33
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpString.c:177,12'
          Dst:             strndup
        - Src:             'upnp/src/api/UpnpString.c:181,40'
          Dst:             strlen
    - functionName:    strndup
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpString_set_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpString.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          33
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpString_get_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpString.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    37
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpString_set_String
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpString.c'
      linkageType:     InternalLinkage
      functionLinenumber: 163
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strdup
        - strlen
      functionUses:    70
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpString.c:164,12'
          Dst:             strdup
        - Src:             'upnp/src/api/UpnpString.c:168,40'
          Dst:             strlen
    - functionName:    UpnpString_assign
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpString.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpString.c:139,28'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpString.c:139,3'
          Dst:             UpnpString_set_String
    - functionName:    UpnpString_dup
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpString.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          58
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpString.c:117,26'
          Dst:             calloc
        - Src:             'upnp/src/api/UpnpString.c:122,16'
          Dst:             strdup
    - functionName:    UpnpString_delete
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpString.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    40
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpString_new
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpString.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          47
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
      functionUses:    40
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpString.c:77,26'
          Dst:             calloc
        - Src:             'upnp/src/api/UpnpString.c:86,16'
          Dst:             calloc
    - functionName:    active_connection_cmp
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 416
      functionLinenumberEnd: 422
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          23
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getNumericHostRedirection
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 261
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          130
      EdgeCount:       21
      CyclomaticComplexity: 5
      functionsReached:
        - getsockname
        - inet_ntop
        - ntohs
        - snprintf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/genlib/miniserver/miniserver.c:235,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:231,7'
          Dst:             getsockname
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:237,9'
          Dst:             inet_ntop
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:242,10'
          Dst:             ntohs
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:243,7'
          Dst:             snprintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:247,9'
          Dst:             inet_ntop
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:252,10'
          Dst:             ntohs
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:253,7'
          Dst:             snprintf
    - functionName:    host_header_is_numeric
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 215
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          140
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - inet_pton
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:201,7'
          Dst:             inet_pton
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:207,6'
          Dst:             strlen
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:212,7'
          Dst:             inet_pton
    - functionName:    handle_error
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 408
      functionLinenumberEnd: 410
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - http_SendStatusResponse
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:409,2'
          Dst:             http_SendStatusResponse
    - functionName:    dispatch_request
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 393
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         34
      ICount:          222
      EdgeCount:       40
      CyclomaticComplexity: 8
      functionsReached:
        - UpnpPrintf
        - getNumericHostRedirection
        - host_header_is_numeric
        - http_SendMessage
        - httpmsg_find_hdr
        - membuffer_append_str
        - membuffer_destroy
        - membuffer_init
        - snprintf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/genlib/miniserver/miniserver.c:285,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:290,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:302,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:317,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:344,7'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:358,14'
          Dst:             host_header_is_numeric
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:361,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:372,4'
          Dst:             getNumericHostRedirection
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:374,4'
          Dst:             membuffer_init
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:375,4'
          Dst:             snprintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:380,4'
          Dst:             membuffer_append_str
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:381,9'
          Dst:             http_SendMessage
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:386,4'
          Dst:             membuffer_destroy
    - functionName:    remove_active_connection
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 461
      functionLinenumberEnd: 484
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ListDelNode
        - ListFind
        - UpnpPrintf
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:472,2'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:473,9'
          Dst:             ListFind
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:475,3'
          Dst:             ListDelNode
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:476,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:483,2'
          Dst:             pthread_mutex_unlock
    - functionName:    add_active_connection
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 429
      functionLinenumberEnd: 455
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ListAddTail
        - ListInit
        - UpnpPrintf
        - active_connection_cmp
        - pthread_mutex_init
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - time
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:433,3'
          Dst:             ListInit
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:433,3'
          Dst:             active_connection_cmp
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:434,3'
          Dst:             pthread_mutex_init
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:442,24'
          Dst:             time
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:444,3'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:445,3'
          Dst:             ListAddTail
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:446,3'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:448,3'
          Dst:             UpnpPrintf
    - functionName:    free_handle_request_arg
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 493
      functionLinenumberEnd: 499
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - remove_active_connection
        - sock_close
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:496,2'
          Dst:             remove_active_connection
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:497,2'
          Dst:             sock_close
    - functionName:    sock_close
      functionSourceFile: '/src/pupnp/upnp/src/inc/sock.h'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - close
      functionUses:    49
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/sock.h:86,9'
          Dst:             close
    - functionName:    close
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    19
      BranchProfiles:  []
      Callsites:       []
    - functionName:    handle_request
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 507
      functionLinenumberEnd: 574
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          128
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - UpnpPrintf
        - dispatch_request
        - handle_error
        - http_RecvMessage
        - httpmsg_destroy
        - remove_active_connection
        - sock_close
        - sock_destroy
        - sock_init_with_ip
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:519,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:527,13'
          Dst:             sock_init_with_ip
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:530,3'
          Dst:             remove_active_connection
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:531,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:533,3'
          Dst:             httpmsg_destroy
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:537,13'
          Dst:             http_RecvMessage
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:542,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:549,20'
          Dst:             dispatch_request
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:561,3'
          Dst:             handle_error
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:563,2'
          Dst:             remove_active_connection
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:564,2'
          Dst:             sock_destroy
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:565,2'
          Dst:             httpmsg_destroy
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:568,2'
          Dst:             UpnpPrintf
    - functionName:    schedule_request_job
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 585
      functionLinenumberEnd: 627
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          65
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - TPJobInit
        - TPJobSetFreeFunction
        - TPJobSetPriority
        - ThreadPoolAdd
        - UpnpPrintf
        - add_active_connection
        - free_handle_request_arg
        - handle_request
        - remove_active_connection
        - sock_close
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:594,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:600,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:608,2'
          Dst:             TPJobInit
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:608,2'
          Dst:             handle_request
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:609,2'
          Dst:             TPJobSetFreeFunction
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:609,2'
          Dst:             free_handle_request_arg
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:610,2'
          Dst:             TPJobSetPriority
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:613,2'
          Dst:             add_active_connection
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:615,6'
          Dst:             ThreadPoolAdd
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:616,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:622,3'
          Dst:             remove_active_connection
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:624,3'
          Dst:             sock_close
    - functionName:    receive_from_stopSock
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 884
      functionLinenumberEnd: 942
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          85
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - UpnpPrintf
        - inet_ntop
        - recvfrom
        - strstr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:896,18'
          Dst:             recvfrom
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:907,4'
          Dst:             inet_ntop
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:912,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:920,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:927,8'
          Dst:             strstr
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:932,4'
          Dst:             UpnpPrintf
    - functionName:    recvfrom
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - size_t
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ssdp_read
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 804
      functionLinenumberEnd: 820
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          62
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - UpnpPrintf
        - readFromSSDPSocket
        - sock_close
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:807,13'
          Dst:             readFromSSDPSocket
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:809,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:816,4'
          Dst:             sock_close
    - functionName:    web_server_accept
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 763
      functionLinenumberEnd: 799
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          68
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - UpnpPrintf
        - __errno_location
        - __xpg_strerror_r
        - accept
        - schedule_request_job
        - setsockopt
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:774,11'
          Dst:             accept
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:779,15'
          Dst:             __errno_location
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:779,4'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:780,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:788,4'
          Dst:             setsockopt
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:793,4'
          Dst:             schedule_request_job
    - functionName:    accept
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __xpg_strerror_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    33
      BranchProfiles:  []
      Callsites:       []
    - functionName:    setsockopt
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    26
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pollfd_if_valid
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 695
      functionLinenumberEnd: 703
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          36
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_port
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1127
      functionLinenumberEnd: 1151
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          75
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - UpnpPrintf
        - getsockname
        - ntohs
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1133,9'
          Dst:             getsockname
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1138,11'
          Dst:             ntohs
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1140,11'
          Dst:             ntohs
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1142,2'
          Dst:             UpnpPrintf
    - functionName:    do_reinit
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1358
      functionLinenumberEnd: 1361
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - init_socket_stuff
        - sock_close
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1359,2'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1361,9'
          Dst:             init_socket_stuff
    - functionName:    init_socket_stuff
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1156
      functionLinenumberEnd: 1262
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          208
      EdgeCount:       30
      CyclomaticComplexity: 7
      functionsReached:
        - UpnpPrintf
        - __errno_location
        - __xpg_strerror_r
        - inet_pton
        - setsockopt
        - sock_close
        - socket
      functionUses:    4
      BranchProfiles:
        - Branch String:   'upnp/src/genlib/miniserver/miniserver.c:1168,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1185,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1194,6'
          Dst:             inet_pton
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1197,10'
          Dst:             socket
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1199,14'
          Dst:             __errno_location
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1199,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1200,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1212,15'
          Dst:             setsockopt
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1218,15'
          Dst:             __errno_location
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1218,4'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1219,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1235,15'
          Dst:             setsockopt
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1241,15'
          Dst:             __errno_location
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1241,4'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1242,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1257,3'
          Dst:             sock_close
    - functionName:    socket
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    do_listen
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1321
      functionLinenumberEnd: 1355
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - UpnpPrintf
        - __errno_location
        - __xpg_strerror_r
        - get_port
        - listen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1327,17'
          Dst:             listen
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1329,14'
          Dst:             __errno_location
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1329,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1330,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1340,15'
          Dst:             get_port
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1342,3'
          Dst:             UpnpPrintf
    - functionName:    listen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    do_bind
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1269
      functionLinenumberEnd: 1318
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          158
      EdgeCount:       28
      CyclomaticComplexity: 6
      functionsReached:
        - UpnpPrintf
        - __errno_location
        - __xpg_strerror_r
        - bind
        - htons
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/genlib/miniserver/miniserver.c:1277,3'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1279,31'
          Dst:             htons
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1282,32'
          Dst:             htons
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1285,16'
          Dst:             bind
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1290,14'
          Dst:             __errno_location
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1292,8'
          Dst:             __errno_location
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1300,14'
          Dst:             __errno_location
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1300,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1301,3'
          Dst:             UpnpPrintf
    - functionName:    bind
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    do_bind_listen
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1365
      functionLinenumberEnd: 1390
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          82
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - do_bind
        - do_listen
        - do_reinit
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1371,13'
          Dst:             do_bind
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1375,13'
          Dst:             do_listen
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1377,8'
          Dst:             __errno_location
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1378,5'
          Dst:             do_reinit
    - functionName:    StopMiniServer
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1732
      functionLinenumberEnd: 1777
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         17
      ICount:          95
      EdgeCount:       19
      CyclomaticComplexity: 4
      functionsReached:
        - UpnpPrintf
        - __errno_location
        - __xpg_strerror_r
        - htons
        - inet_pton
        - nanosleep
        - sendto
        - sleep
        - sock_close
        - socket
        - strlen
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/genlib/miniserver/miniserver.c:1740,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1738,18'
          Dst:             strlen
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1747,9'
          Dst:             socket
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1749,14'
          Dst:             __errno_location
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1749,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1750,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1760,3'
          Dst:             inet_pton
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1761,23'
          Dst:             htons
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1762,3'
          Dst:             sendto
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1768,3'
          Dst:             nanosleep
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1772,3'
          Dst:             sleep
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1774,2'
          Dst:             sock_close
    - functionName:    sendto
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - size_t
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    nanosleep
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sleep
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    RunMiniServer
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 956
      functionLinenumberEnd: 1114
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          226
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - UpnpPrintf
        - __errno_location
        - __xpg_strerror_r
        - poll
        - pollfd_if_valid
        - receive_from_stopSock
        - shutdown_all_active_connections
        - sock_close
        - ssdp_read
        - web_server_accept
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1032,3'
          Dst:             pollfd_if_valid
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1036,3'
          Dst:             pollfd_if_valid
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1039,3'
          Dst:             pollfd_if_valid
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1042,3'
          Dst:             pollfd_if_valid
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1045,3'
          Dst:             pollfd_if_valid
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1047,3'
          Dst:             pollfd_if_valid
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1049,3'
          Dst:             pollfd_if_valid
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1053,3'
          Dst:             pollfd_if_valid
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1055,3'
          Dst:             pollfd_if_valid
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1059,9'
          Dst:             poll
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1061,18'
          Dst:             __errno_location
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1066,15'
          Dst:             __errno_location
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1066,4'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1067,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1076,3'
          Dst:             web_server_accept
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1077,3'
          Dst:             web_server_accept
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1078,3'
          Dst:             web_server_accept
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1081,3'
          Dst:             ssdp_read
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1082,3'
          Dst:             ssdp_read
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1085,3'
          Dst:             ssdp_read
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1086,3'
          Dst:             ssdp_read
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1087,3'
          Dst:             ssdp_read
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1089,14'
          Dst:             receive_from_stopSock
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1095,2'
          Dst:             shutdown_all_active_connections
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1098,2'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1099,2'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1100,2'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1101,2'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1102,2'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1103,2'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1104,2'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1106,2'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1107,2'
          Dst:             sock_close
    - functionName:    poll
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    shutdown_all_active_connections
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 635
      functionLinenumberEnd: 683
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         14
      ICount:          81
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - ListDestroy
        - ListHead
        - ListNext
        - UpnpPrintf
        - pthread_mutex_destroy
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - shutdown
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:644,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:650,2'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:651,9'
          Dst:             ListHead
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:657,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:663,4'
          Dst:             shutdown
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:666,10'
          Dst:             ListNext
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:670,2'
          Dst:             ListDestroy
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:672,2'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:673,2'
          Dst:             pthread_mutex_destroy
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:675,2'
          Dst:             UpnpPrintf
    - functionName:    shutdown
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_miniserver_stopsock
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1556
      functionLinenumberEnd: 1598
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          85
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - UpnpPrintf
        - __errno_location
        - __xpg_strerror_r
        - bind
        - get_port
        - inet_pton
        - sock_close
        - socket
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1562,23'
          Dst:             socket
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1564,14'
          Dst:             __errno_location
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1564,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1565,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1576,2'
          Dst:             inet_pton
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1577,8'
          Dst:             bind
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1581,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1586,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1589,8'
          Dst:             get_port
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1591,3'
          Dst:             sock_close
    - functionName:    get_miniserver_sockets
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1419
      functionLinenumberEnd: 1540
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - short
        - short
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         55
      ICount:          321
      EdgeCount:       73
      CyclomaticComplexity: 20
      functionsReached:
        - UpnpPrintf
        - do_bind_listen
        - init_socket_stuff
        - sock_close
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1431,15'
          Dst:             init_socket_stuff
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1432,15'
          Dst:             init_socket_stuff
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1433,21'
          Dst:             init_socket_stuff
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1437,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1465,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1472,13'
          Dst:             do_bind_listen
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1478,13'
          Dst:             do_bind_listen
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1485,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1491,4'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1496,13'
          Dst:             do_bind_listen
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1504,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1510,4'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1514,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1530,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1533,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1536,3'
          Dst:             sock_close
    - functionName:    InitMiniServerSockArray
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1602
      functionLinenumberEnd: 1618
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          45
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    StartMiniServer
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1630
      functionLinenumberEnd: 1729
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          278
      EdgeCount:       34
      CyclomaticComplexity: 9
      functionsReached:
        - InitMiniServerSockArray
        - RunMiniServer
        - TPJobInit
        - TPJobSetFreeFunction
        - TPJobSetPriority
        - ThreadPoolAddPersistent
        - get_miniserver_sockets
        - get_miniserver_stopsock
        - get_ssdp_sockets
        - nanosleep
        - sock_close
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/genlib/miniserver/miniserver.c:1639,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1651,2'
          Dst:             InitMiniServerSockArray
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1654,13'
          Dst:             get_miniserver_sockets
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1662,13'
          Dst:             get_miniserver_stopsock
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1664,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1665,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1666,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1671,13'
          Dst:             get_ssdp_sockets
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1673,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1674,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1675,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1676,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1680,2'
          Dst:             TPJobInit
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1680,2'
          Dst:             RunMiniServer
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1681,2'
          Dst:             TPJobSetPriority
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1682,2'
          Dst:             TPJobSetFreeFunction
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1683,13'
          Dst:             ThreadPoolAddPersistent
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1685,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1686,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1687,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1688,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1689,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1690,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1691,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1693,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1694,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1704,3'
          Dst:             nanosleep
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1709,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1710,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1711,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1712,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1713,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1714,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1715,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1717,3'
          Dst:             sock_close
        - Src:             'upnp/src/genlib/miniserver/miniserver.c:1718,3'
          Dst:             sock_close
    - functionName:    SetGenaCallback
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SetSoapCallback
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 178
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SetHTTPGetCallback
      functionSourceFile: '/src/pupnp/upnp/src/genlib/miniserver/miniserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sock_make_no_blocking
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/sock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 349
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - fcntl
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/sock.c:343,8'
          Dst:             fcntl
        - Src:             'upnp/src/genlib/net/sock.c:344,6'
          Dst:             fcntl
    - functionName:    fcntl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sock_make_blocking
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/sock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 320
      functionLinenumberEnd: 333
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - fcntl
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/sock.c:327,8'
          Dst:             fcntl
        - Src:             'upnp/src/genlib/net/sock.c:328,6'
          Dst:             fcntl
    - functionName:    sock_write
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/sock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 314
      functionLinenumberEnd: 316
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sock_read_write
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/sock.c:316,9'
          Dst:             sock_read_write
    - functionName:    sock_read_write
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/sock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 168
      functionLinenumberEnd: 305
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          193
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - __errno_location
        - poll
        - recv
        - send
        - time
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/sock.c:170,22'
          Dst:             time
        - Src:             'upnp/src/genlib/net/sock.c:185,14'
          Dst:             poll
        - Src:             'upnp/src/genlib/net/sock.c:189,9'
          Dst:             __errno_location
        - Src:             'upnp/src/genlib/net/sock.c:254,22'
          Dst:             recv
        - Src:             'upnp/src/genlib/net/sock.c:272,20'
          Dst:             send
        - Src:             'upnp/src/genlib/net/sock.c:302,25'
          Dst:             time
    - functionName:    recv
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    send
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sock_read
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/sock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 308
      functionLinenumberEnd: 309
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sock_read_write
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/sock.c:309,9'
          Dst:             sock_read_write
    - functionName:    sock_close
      functionSourceFile: '/src/pupnp/upnp/src/inc/sock.h'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - close
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/sock.h:86,9'
          Dst:             close
    - functionName:    sock_destroy
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/sock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          71
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - UpnpPrintf
        - __errno_location
        - __xpg_strerror_r
        - shutdown
        - sock_close
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/sock.c:136,7'
          Dst:             shutdown
        - Src:             'upnp/src/genlib/net/sock.c:137,15'
          Dst:             __errno_location
        - Src:             'upnp/src/genlib/net/sock.c:137,4'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/genlib/net/sock.c:138,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/sock.c:145,7'
          Dst:             sock_close
    - functionName:    sock_init_with_ip
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/sock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - sock_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/sock.c:92,8'
          Dst:             sock_init
    - functionName:    sock_init
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/sock.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/sock.c:79,2'
          Dst:             __assert_fail
    - functionName:    Check_Connect_And_Wait_Connection
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          94
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - getsockopt
        - poll
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:141,22'
          Dst:             __errno_location
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:145,13'
          Dst:             poll
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:155,9'
          Dst:             getsockopt
    - functionName:    getsockopt
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    http_OpenHttpGetEx
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2190
      functionLinenumberEnd: 2315
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         55
      ICount:          373
      EdgeCount:       76
      CyclomaticComplexity: 23
      functionsReached:
        - MakeGetMessageEx
        - ReadResponseLineAndHeaders
        - http_SendMessage
        - httpmsg_find_hdr
        - membuffer_destroy
        - membuffer_init
        - parser_get_entity_read_method
        - parser_response_init
        - private_connect
        - snprintf
        - sock_destroy
        - sock_init
        - socket
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2204,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2222,8'
          Dst:             snprintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2229,3'
          Dst:             membuffer_init
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2230,13'
          Dst:             MakeGetMessageEx
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2240,3'
          Dst:             parser_response_init
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2241,20'
          Dst:             socket
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2248,7'
          Dst:             sock_init
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2250,4'
          Dst:             sock_destroy
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2258,13'
          Dst:             private_connect
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2262,4'
          Dst:             sock_destroy
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2268,13'
          Dst:             http_SendMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2274,4'
          Dst:             sock_destroy
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2278,7'
          Dst:             ReadResponseLineAndHeaders
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2286,12'
          Dst:             parser_get_entity_read_method
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2296,8'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2313,2'
          Dst:             membuffer_destroy
    - functionName:    MakeGetMessageEx
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2089
      functionLinenumberEnd: 2153
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          100
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - UpnpPrintf
        - get_hoststr
        - http_FixStrUrl
        - http_MakeMessage
        - membuffer_destroy
        - membuffer_init
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2095,16'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2097,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2103,14'
          Dst:             http_FixStrUrl
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2108,3'
          Dst:             membuffer_init
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2109,14'
          Dst:             get_hoststr
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2113,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2120,14'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2135,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2140,4'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2144,2'
          Dst:             UpnpPrintf
    - functionName:    private_connect
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - Check_Connect_And_Wait_Connection
        - connect
        - sock_make_blocking
        - sock_make_no_blocking
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:179,12'
          Dst:             sock_make_no_blocking
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:181,9'
          Dst:             connect
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:182,9'
          Dst:             Check_Connect_And_Wait_Connection
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:184,10'
          Dst:             sock_make_blocking
    - functionName:    http_SendMessage
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 513
      functionLinenumberEnd: 755
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         122
      ICount:          745
      EdgeCount:       165
      CyclomaticComplexity: 45
      functionsReached:
        - UpnpPrintf
        - fclose
        - fopen
        - fread
        - fseeko
        - snprintf
        - sock_write
        - strlen
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:570,10'
          Dst:             fopen
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:587,9'
          Dst:             fseeko
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:614,18'
          Dst:             fread
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:626,17'
          Dst:             fread
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:637,8'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:635,12'
          Dst:             sock_write
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:655,11'
          Dst:             snprintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:666,24'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:668,7'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:675,18'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:677,8'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:674,11'
          Dst:             sock_write
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:684,9'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:691,11'
          Dst:             sock_write
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:695,6'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:717,5'
          Dst:             fclose
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:727,11'
          Dst:             sock_write
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:730,6'
          Dst:             UpnpPrintf
    - functionName:    ReadResponseLineAndHeaders
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1142
      functionLinenumberEnd: 1239
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         50
      ICount:          287
      EdgeCount:       62
      CyclomaticComplexity: 14
      functionsReached:
        - membuffer_append
        - parser_parse_headers
        - parser_parse_responseline
        - sock_read
      functionUses:    2
      BranchProfiles:
        - Branch String:   'upnp/src/genlib/net/http/httpreadwrite.c:1151,2'
          Branch Sides:    []
        - Branch String:   'upnp/src/genlib/net/http/httpreadwrite.c:1175,4'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1150,11'
          Dst:             parser_parse_responseline
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1163,14'
          Dst:             sock_read
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1166,15'
          Dst:             membuffer_append
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1174,13'
          Dst:             parser_parse_responseline
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1196,11'
          Dst:             parser_parse_headers
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1208,14'
          Dst:             sock_read
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1211,15'
          Dst:             membuffer_append
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1219,13'
          Dst:             parser_parse_headers
    - functionName:    fseeko
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    connect
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    http_FixStrUrl
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 278
      functionLinenumberEnd: 286
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - http_FixUrl
        - parse_uri
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:281,6'
          Dst:             parse_uri
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:285,9'
          Dst:             http_FixUrl
    - functionName:    get_hoststr
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strchr
        - strlen
        - strstr
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:201,10'
          Dst:             strstr
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:206,11'
          Dst:             strchr
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:210,14'
          Dst:             strlen
    - functionName:    http_MakeMessage
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1696
      functionLinenumberEnd: 2036
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         273
      ICount:          1540
      EdgeCount:       362
      CyclomaticComplexity: 91
      functionsReached:
        - UpnpExtraHeaders_get_resp
        - UpnpListBegin
        - UpnpListEnd
        - UpnpListNext
        - UpnpPrintf
        - __assert_fail
        - get_sdk_info
        - gmtime_r
        - http_FixUrl
        - http_MakeMessage
        - http_get_code_text
        - membuffer_append
        - membuffer_append_str
        - membuffer_destroy
        - method_to_str
        - snprintf
        - strcmp
        - strlen
        - time
      functionUses:    43
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1735,16'
          Dst:             UpnpListBegin
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1736,13'
          Dst:             UpnpListEnd
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1739,13'
          Dst:             UpnpExtraHeaders_get_resp
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1743,12'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1741,11'
          Dst:             membuffer_append
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1745,11'
          Dst:             membuffer_append
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1737,12'
          Dst:             UpnpListNext
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1755,4'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1756,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1762,33'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1762,8'
          Dst:             membuffer_append
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1766,8'
          Dst:             membuffer_append_str
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1775,4'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1777,5'
          Dst:             strcmp
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1778,5'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1790,4'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1794,9'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1792,8'
          Dst:             membuffer_append
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1799,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1805,4'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1807,8'
          Dst:             membuffer_append
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1811,8'
          Dst:             membuffer_append
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1816,9'
          Dst:             snprintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1818,36'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1818,5'
          Dst:             membuffer_append
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1823,9'
          Dst:             snprintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1828,36'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1828,5'
          Dst:             membuffer_append
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1836,17'
          Dst:             time
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1843,4'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1844,11'
          Dst:             gmtime_r
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1847,9'
          Dst:             snprintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1860,36'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1860,5'
          Dst:             membuffer_append
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1870,4'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1871,8'
          Dst:             strcmp
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1872,5'
          Dst:             strcmp
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1873,5'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1885,9'
          Dst:             membuffer_append_str
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1892,4'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1893,8'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1901,8'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1910,4'
          Dst:             get_sdk_info
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1911,8'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1921,4'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1922,8'
          Dst:             membuffer_append_str
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1924,33'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1924,8'
          Dst:             membuffer_append
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1930,4'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1931,9'
          Dst:             snprintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1938,17'
          Dst:             http_get_code_text
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1940,5'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1955,5'
          Dst:             http_get_code_text
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1950,9'
          Dst:             snprintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1959,20'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1960,8'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1973,17'
          Dst:             method_to_str
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1977,8'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1994,4'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1995,8'
          Dst:             http_FixUrl
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1999,8'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2015,8'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2023,4'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2032,2'
          Dst:             membuffer_destroy
    - functionName:    gmtime_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_sdk_info
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2333
      functionLinenumberEnd: 2357
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - snprintf
        - uname
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2346,13'
          Dst:             uname
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:2349,2'
          Dst:             snprintf
    - functionName:    http_FixUrl
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 251
      functionLinenumberEnd: 275
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          72
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - token_string_casecmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:261,6'
          Dst:             token_string_casecmp
    - functionName:    uname
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    http_CalcResponseVersion
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2057
      functionLinenumberEnd: 2066
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          52
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    http_SendStatusResponse
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1662
      functionLinenumberEnd: 1688
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          58
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - http_CalcResponseVersion
        - http_MakeMessage
        - http_SendMessage
        - membuffer_destroy
        - membuffer_init
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1668,2'
          Dst:             http_CalcResponseVersion
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1672,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1675,8'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1683,9'
          Dst:             http_SendMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1686,2'
          Dst:             membuffer_destroy
    - functionName:    http_CloseHttpConnection
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1627
      functionLinenumberEnd: 1636
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - httpmsg_destroy
        - sock_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1632,2'
          Dst:             sock_destroy
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1633,2'
          Dst:             httpmsg_destroy
    - functionName:    http_ReadHttpResponse
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1522
      functionLinenumberEnd: 1624
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         67
      ICount:          418
      EdgeCount:       91
      CyclomaticComplexity: 26
      functionsReached:
        - UpnpPrintf
        - membuffer_append
        - membuffer_delete
        - parser_parse_entity
        - sock_read
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1537,12'
          Dst:             parser_parse_entity
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1553,14'
          Dst:             sock_read
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1557,15'
          Dst:             membuffer_append
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1567,13'
          Dst:             parser_parse_entity
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1580,5'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1614,3'
          Dst:             membuffer_delete
    - functionName:    copy_msg_headers
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 221
      functionLinenumberEnd: 224
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    http_GetHttpResponse
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1464
      functionLinenumberEnd: 1518
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          220
      EdgeCount:       51
      CyclomaticComplexity: 12
      functionsReached:
        - ReadResponseLineAndHeaders
        - copy_msg_headers
        - httpmsg_destroy
        - httpmsg_find_hdr
        - parser_get_entity_read_method
      functionUses:    2
      BranchProfiles:
        - Branch String:   'upnp/src/genlib/net/http/httpreadwrite.c:1480,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1471,27'
          Dst:             ReadResponseLineAndHeaders
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1479,11'
          Dst:             parser_get_entity_read_method
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1493,8'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1512,3'
          Dst:             copy_msg_headers
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1517,3'
          Dst:             httpmsg_destroy
    - functionName:    http_EndHttpRequest
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1438
      functionLinenumberEnd: 1456
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          74
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - sock_write
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1452,4'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1450,14'
          Dst:             sock_write
    - functionName:    http_WriteHttpRequest
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1392
      functionLinenumberEnd: 1435
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          182
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - sock_write
        - sprintf
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1412,4'
          Dst:             sprintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1413,15'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1425,3'
          Dst:             sock_write
    - functionName:    sprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    http_MakeHttpRequest
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1360
      functionLinenumberEnd: 1389
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          109
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - MakeGenericMessage
        - http_SendMessage
        - httpmsg_destroy
        - membuffer_destroy
        - parser_response_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1373,13'
          Dst:             MakeGenericMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1383,13'
          Dst:             http_SendMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1385,2'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1386,2'
          Dst:             httpmsg_destroy
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1387,2'
          Dst:             parser_response_init
    - functionName:    MakeGenericMessage
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1024
      functionLinenumberEnd: 1112
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          207
      EdgeCount:       44
      CyclomaticComplexity: 13
      functionsReached:
        - UpnpPrintf
        - UpnpString_get_String
        - get_hoststr
        - http_FixStrUrl
        - http_MakeMessage
        - membuffer_destroy
        - membuffer_init
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1029,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1036,37'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1036,13'
          Dst:             http_FixStrUrl
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1040,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1041,13'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1055,5'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1051,15'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1057,15'
          Dst:             get_hoststr
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1060,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1067,15'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1080,14'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1085,15'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1088,15'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1090,15'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1095,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1100,3'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1103,2'
          Dst:             UpnpPrintf
    - functionName:    http_OpenHttpConnection
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1294
      functionLinenumberEnd: 1351
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          149
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - http_FixStrUrl
        - private_connect
        - sock_destroy
        - sock_init
        - socket
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1305,37'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1305,13'
          Dst:             http_FixStrUrl
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1317,3'
          Dst:             socket
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1322,6'
          Dst:             sock_init
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1323,3'
          Dst:             sock_destroy
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1330,13'
          Dst:             private_connect
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:1334,3'
          Dst:             sock_destroy
    - functionName:    http_CancelHttpGet
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1283
      functionLinenumberEnd: 1291
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    http_HttpGetProgress
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1257
      functionLinenumberEnd: 1267
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          58
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    http_Download
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 858
      functionLinenumberEnd: 995
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          292
      EdgeCount:       54
      CyclomaticComplexity: 14
      functionsReached:
        - UpnpPrintf
        - __assert_fail
        - get_hoststr
        - http_FixStrUrl
        - http_MakeMessage
        - http_RequestAndResponse
        - httpmsg_destroy
        - httpmsg_find_hdr
        - membuffer_destroy
        - membuffer_detach
        - membuffer_init
        - print_http_headers
        - realloc
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:872,16'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:874,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:880,13'
          Dst:             http_FixStrUrl
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:885,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:886,13'
          Dst:             get_hoststr
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:890,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:897,13'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:910,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:915,3'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:918,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:926,13'
          Dst:             http_RequestAndResponse
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:934,3'
          Dst:             httpmsg_destroy
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:935,3'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:938,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:939,2'
          Dst:             print_http_headers
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:942,7'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:964,15'
          Dst:             membuffer_detach
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:968,15'
          Dst:             realloc
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:973,3'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:974,3'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:976,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:991,2'
          Dst:             httpmsg_destroy
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:992,2'
          Dst:             membuffer_destroy
    - functionName:    http_RequestAndResponse
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 786
      functionLinenumberEnd: 832
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          122
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - http_RecvMessage
        - http_SendMessage
        - parser_response_init
        - private_connect
        - sock_destroy
        - sock_init
        - socket
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:793,19'
          Dst:             socket
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:796,3'
          Dst:             parser_response_init
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:799,6'
          Dst:             sock_init
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:800,3'
          Dst:             parser_response_init
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:808,13'
          Dst:             private_connect
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:812,3'
          Dst:             parser_response_init
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:817,13'
          Dst:             http_SendMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:820,3'
          Dst:             parser_response_init
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:824,13'
          Dst:             http_RecvMessage
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:829,2'
          Dst:             sock_destroy
    - functionName:    http_RecvMessage
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 371
      functionLinenumberEnd: 509
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         52
      ICount:          320
      EdgeCount:       66
      CyclomaticComplexity: 16
      functionsReached:
        - UpnpPrintf
        - parser_append
        - parser_request_init
        - parser_response_init
        - print_http_headers
        - sock_read
      functionUses:    3
      BranchProfiles:
        - Branch String:   'upnp/src/genlib/net/http/httpreadwrite.c:409,4'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:387,3'
          Dst:             parser_request_init
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:389,3'
          Dst:             parser_response_init
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:405,14'
          Dst:             sock_read
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:408,13'
          Dst:             parser_append
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:411,5'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:418,5'
          Dst:             print_http_headers
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:470,5'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:477,5'
          Dst:             print_http_headers
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:500,3'
          Dst:             UpnpPrintf
    - functionName:    http_Connect
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/httpreadwrite.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 346
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          93
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - UpnpPrintf
        - __errno_location
        - __xpg_strerror_r
        - close
        - http_FixUrl
        - private_connect
        - shutdown
        - socket
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:310,2'
          Dst:             http_FixUrl
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:313,3'
          Dst:             socket
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:320,16'
          Dst:             private_connect
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:332,7'
          Dst:             shutdown
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:333,15'
          Dst:             __errno_location
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:333,4'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:334,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/httpreadwrite.c:341,3'
          Dst:             close
    - functionName:    init_table
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/statcodes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 133
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          51
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - strlen
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/statcodes.c:139,8'
          Dst:             strlen
    - functionName:    init_tables
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/statcodes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - init_table
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/statcodes.c:157,2'
          Dst:             init_table
        - Src:             'upnp/src/genlib/net/http/statcodes.c:158,2'
          Dst:             init_table
        - Src:             'upnp/src/genlib/net/http/statcodes.c:159,2'
          Dst:             init_table
        - Src:             'upnp/src/genlib/net/http/statcodes.c:160,2'
          Dst:             init_table
        - Src:             'upnp/src/genlib/net/http/statcodes.c:161,2'
          Dst:             init_table
    - functionName:    http_get_code_text
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/statcodes.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 216
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         37
      ICount:          181
      EdgeCount:       50
      CyclomaticComplexity: 15
      functionsReached:
        - init_tables
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/statcodes.c:185,3'
          Dst:             init_tables
    - functionName:    StrTok
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 813
      functionLinenumberEnd: 830
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strlen
        - strstr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:819,12'
          Dst:             strstr
        - Src:             'upnp/src/genlib/net/http/webserver.c:822,20'
          Dst:             strlen
    - functionName:    GetNextRange
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 844
      functionLinenumberEnd: 883
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          159
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - StrTok
        - __ctype_b_loc
        - __isoc99_sscanf
        - strlen
        - strstr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:854,8'
          Dst:             StrTok
        - Src:             'upnp/src/genlib/net/http/webserver.c:855,13'
          Dst:             strstr
        - Src:             'upnp/src/genlib/net/http/webserver.c:861,2'
          Dst:             __isoc99_sscanf
        - Src:             'upnp/src/genlib/net/http/webserver.c:865,24'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/webserver.c:868,15'
          Dst:             __ctype_b_loc
    - functionName:    ToUpperCase
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 759
      functionLinenumberEnd: 764
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - toupper
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:761,14'
          Dst:             toupper
    - functionName:    toupper
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CreateHTTPRangeResponseHeader
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 903
      functionLinenumberEnd: 1011
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         70
      ICount:          410
      EdgeCount:       96
      CyclomaticComplexity: 28
      functionsReached:
        - GetNextRange
        - StrStr
        - snprintf
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:913,15'
          Dst:             strdup
        - Src:             'upnp/src/genlib/net/http/webserver.c:917,6'
          Dst:             StrStr
        - Src:             'upnp/src/genlib/net/http/webserver.c:918,10'
          Dst:             StrStr
        - Src:             'upnp/src/genlib/net/http/webserver.c:935,6'
          Dst:             GetNextRange
        - Src:             'upnp/src/genlib/net/http/webserver.c:946,9'
          Dst:             snprintf
        - Src:             'upnp/src/genlib/net/http/webserver.c:962,9'
          Dst:             snprintf
        - Src:             'upnp/src/genlib/net/http/webserver.c:978,10'
          Dst:             snprintf
        - Src:             'upnp/src/genlib/net/http/webserver.c:987,10'
          Dst:             snprintf
    - functionName:    StrStr
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 776
      functionLinenumberEnd: 800
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          75
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - ToUpperCase
        - strdup
        - strstr
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:782,9'
          Dst:             strdup
        - Src:             'upnp/src/genlib/net/http/webserver.c:785,9'
          Dst:             strdup
        - Src:             'upnp/src/genlib/net/http/webserver.c:788,2'
          Dst:             ToUpperCase
        - Src:             'upnp/src/genlib/net/http/webserver.c:789,2'
          Dst:             ToUpperCase
        - Src:             'upnp/src/genlib/net/http/webserver.c:790,8'
          Dst:             strstr
    - functionName:    search_extension
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 293
      functionLinenumberEnd: 318
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          92
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - strcasecmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:302,9'
          Dst:             strcasecmp
    - functionName:    web_server_asctime_r
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 161
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          50
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - strftime
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:157,7'
          Dst:             strftime
    - functionName:    get_content_type
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 334
      functionLinenumberEnd: 369
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          137
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - UpnpFileInfo_get_ContentType
        - UpnpFileInfo_set_ContentType
        - search_extension
        - snprintf
        - strlen
        - strrchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:343,2'
          Dst:             UpnpFileInfo_set_ContentType
        - Src:             'upnp/src/genlib/net/http/webserver.c:345,14'
          Dst:             strrchr
        - Src:             'upnp/src/genlib/net/http/webserver.c:347,7'
          Dst:             search_extension
        - Src:             'upnp/src/genlib/net/http/webserver.c:354,11'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/webserver.c:354,40'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/webserver.c:358,7'
          Dst:             snprintf
        - Src:             'upnp/src/genlib/net/http/webserver.c:363,2'
          Dst:             UpnpFileInfo_set_ContentType
        - Src:             'upnp/src/genlib/net/http/webserver.c:365,7'
          Dst:             UpnpFileInfo_get_ContentType
    - functionName:    FreeExtraHTTPHeaders
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1151
      functionLinenumberEnd: 1161
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpExtraHeaders_delete
        - UpnpListBegin
        - UpnpListEnd
        - UpnpListErase
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:1155,13'
          Dst:             UpnpListBegin
        - Src:             'upnp/src/genlib/net/http/webserver.c:1156,10'
          Dst:             UpnpListEnd
        - Src:             'upnp/src/genlib/net/http/webserver.c:1158,9'
          Dst:             UpnpListErase
        - Src:             'upnp/src/genlib/net/http/webserver.c:1159,3'
          Dst:             UpnpExtraHeaders_delete
    - functionName:    CheckOtherHTTPHeaders
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1030
      functionLinenumberEnd: 1146
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          247
      EdgeCount:       42
      CyclomaticComplexity: 10
      functionsReached:
        - CreateHTTPRangeResponseHeader
        - ListHead
        - ListNext
        - StrStr
        - atoi
        - map_str_to_int
        - strlen
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/genlib/net/http/webserver.c:1060,4'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:1041,9'
          Dst:             ListHead
        - Src:             'upnp/src/genlib/net/http/webserver.c:1045,11'
          Dst:             map_str_to_int
        - Src:             'upnp/src/genlib/net/http/webserver.c:1065,9'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/webserver.c:1067,10'
          Dst:             StrStr
        - Src:             'upnp/src/genlib/net/http/webserver.c:1075,32'
          Dst:             atoi
        - Src:             'upnp/src/genlib/net/http/webserver.c:1078,15'
          Dst:             CreateHTTPRangeResponseHeader
        - Src:             'upnp/src/genlib/net/http/webserver.c:1141,10'
          Dst:             ListNext
    - functionName:    get_file_info
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 583
      functionLinenumberEnd: 644
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          139
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - UpnpFileInfo_get_FileLength
        - UpnpFileInfo_get_IsReadable
        - UpnpFileInfo_get_LastModified
        - UpnpFileInfo_set_ContentType
        - UpnpFileInfo_set_FileLength
        - UpnpFileInfo_set_IsDirectory
        - UpnpFileInfo_set_IsReadable
        - UpnpFileInfo_set_LastModified
        - UpnpPrintf
        - fclose
        - fileno
        - fopen
        - fstat
        - get_content_type
        - gmtime_r
        - web_server_asctime_r
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:593,2'
          Dst:             UpnpFileInfo_set_ContentType
        - Src:             'upnp/src/genlib/net/http/webserver.c:597,7'
          Dst:             fopen
        - Src:             'upnp/src/genlib/net/http/webserver.c:600,2'
          Dst:             UpnpFileInfo_set_IsReadable
        - Src:             'upnp/src/genlib/net/http/webserver.c:605,7'
          Dst:             fileno
        - Src:             'upnp/src/genlib/net/http/webserver.c:610,9'
          Dst:             fstat
        - Src:             'upnp/src/genlib/net/http/webserver.c:615,2'
          Dst:             fclose
        - Src:             'upnp/src/genlib/net/http/webserver.c:618,3'
          Dst:             UpnpFileInfo_set_IsDirectory
        - Src:             'upnp/src/genlib/net/http/webserver.c:620,3'
          Dst:             UpnpFileInfo_set_IsDirectory
        - Src:             'upnp/src/genlib/net/http/webserver.c:625,2'
          Dst:             UpnpFileInfo_set_FileLength
        - Src:             'upnp/src/genlib/net/http/webserver.c:626,2'
          Dst:             UpnpFileInfo_set_LastModified
        - Src:             'upnp/src/genlib/net/http/webserver.c:627,7'
          Dst:             get_content_type
        - Src:             'upnp/src/genlib/net/http/webserver.c:628,21'
          Dst:             UpnpFileInfo_get_LastModified
        - Src:             'upnp/src/genlib/net/http/webserver.c:635,12'
          Dst:             UpnpFileInfo_get_FileLength
        - Src:             'upnp/src/genlib/net/http/webserver.c:637,4'
          Dst:             gmtime_r
        - Src:             'upnp/src/genlib/net/http/webserver.c:636,3'
          Dst:             web_server_asctime_r
        - Src:             'upnp/src/genlib/net/http/webserver.c:638,3'
          Dst:             UpnpFileInfo_get_IsReadable
        - Src:             'upnp/src/genlib/net/http/webserver.c:629,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/webserver.c:642,3'
          Dst:             fclose
    - functionName:    ExtraHTTPHeaders
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1172
      functionLinenumberEnd: 1211
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          107
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - FreeExtraHTTPHeaders
        - ListHead
        - ListNext
        - UpnpExtraHeaders_get_node
        - UpnpExtraHeaders_new
        - UpnpExtraHeaders_strncpy_name
        - UpnpExtraHeaders_strncpy_value
        - UpnpListEnd
        - UpnpListInsert
        - map_str_to_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:1179,9'
          Dst:             ListHead
        - Src:             'upnp/src/genlib/net/http/webserver.c:1183,11'
          Dst:             map_str_to_int
        - Src:             'upnp/src/genlib/net/http/webserver.c:1189,18'
          Dst:             UpnpExtraHeaders_new
        - Src:             'upnp/src/genlib/net/http/webserver.c:1191,5'
          Dst:             FreeExtraHTTPHeaders
        - Src:             'upnp/src/genlib/net/http/webserver.c:1195,21'
          Dst:             UpnpExtraHeaders_get_node
        - Src:             'upnp/src/genlib/net/http/webserver.c:1198,5'
          Dst:             UpnpListEnd
        - Src:             'upnp/src/genlib/net/http/webserver.c:1197,4'
          Dst:             UpnpListInsert
        - Src:             'upnp/src/genlib/net/http/webserver.c:1200,4'
          Dst:             UpnpExtraHeaders_strncpy_name
        - Src:             'upnp/src/genlib/net/http/webserver.c:1203,4'
          Dst:             UpnpExtraHeaders_strncpy_value
        - Src:             'upnp/src/genlib/net/http/webserver.c:1207,10'
          Dst:             ListNext
    - functionName:    get_alias
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 692
      functionLinenumberEnd: 701
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          56
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpFileInfo_set_FileLength
        - UpnpFileInfo_set_IsDirectory
        - UpnpFileInfo_set_IsReadable
        - UpnpFileInfo_set_LastModified
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:693,12'
          Dst:             strcmp
        - Src:             'upnp/src/genlib/net/http/webserver.c:695,3'
          Dst:             UpnpFileInfo_set_FileLength
        - Src:             'upnp/src/genlib/net/http/webserver.c:696,3'
          Dst:             UpnpFileInfo_set_IsDirectory
        - Src:             'upnp/src/genlib/net/http/webserver.c:697,3'
          Dst:             UpnpFileInfo_set_IsReadable
        - Src:             'upnp/src/genlib/net/http/webserver.c:698,3'
          Dst:             UpnpFileInfo_set_LastModified
    - functionName:    isFileInVirtualDir
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 716
      functionLinenumberEnd: 751
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         31
      ICount:          162
      EdgeCount:       41
      CyclomaticComplexity: 12
      functionsReached:
        - strlen
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:722,15'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/webserver.c:725,9'
          Dst:             strncmp
        - Src:             'upnp/src/genlib/net/http/webserver.c:734,9'
          Dst:             strncmp
    - functionName:    is_valid_alias
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 393
      functionLinenumberEnd: 394
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    http_RecvPostMessage
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1644
      functionLinenumberEnd: 1773
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         79
      ICount:          454
      EdgeCount:       106
      CyclomaticComplexity: 29
      functionsReached:
        - UpnpPrintf
        - fclose
        - fwrite
        - membuffer_append
        - parser_parse_entity
        - print_http_headers
        - sock_read
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:1675,13'
          Dst:             parser_parse_entity
        - Src:             'upnp/src/genlib/net/http/webserver.c:1690,15'
          Dst:             sock_read
        - Src:             'upnp/src/genlib/net/http/webserver.c:1693,9'
          Dst:             membuffer_append
        - Src:             'upnp/src/genlib/net/http/webserver.c:1702,14'
          Dst:             parser_parse_entity
        - Src:             'upnp/src/genlib/net/http/webserver.c:1714,6'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/webserver.c:1721,6'
          Dst:             print_http_headers
        - Src:             'upnp/src/genlib/net/http/webserver.c:1756,15'
          Dst:             fwrite
        - Src:             'upnp/src/genlib/net/http/webserver.c:1769,3'
          Dst:             fclose
    - functionName:    fwrite
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    process_request
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1240
      functionLinenumberEnd: 1621
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         163
      ICount:          949
      EdgeCount:       224
      CyclomaticComplexity: 63
      functionsReached:
        - CheckOtherHTTPHeaders
        - ExtraHTTPHeaders
        - FreeExtraHTTPHeaders
        - UpnpFileInfo_delete
        - UpnpFileInfo_get_ContentType
        - UpnpFileInfo_get_ExtraHeadersList
        - UpnpFileInfo_get_FileLength
        - UpnpFileInfo_get_IsDirectory
        - UpnpFileInfo_get_IsReadable
        - UpnpFileInfo_get_LastModified
        - UpnpFileInfo_new
        - UpnpFileInfo_set_ContentType
        - UpnpFileInfo_set_CtrlPtIPAddr
        - UpnpFileInfo_strncpy_Os
        - __assert_fail
        - alias_grab
        - alias_release
        - get_alias
        - get_file_info
        - http_CalcResponseVersion
        - http_MakeMessage
        - httpmsg_find_hdr
        - isFileInVirtualDir
        - is_valid_alias
        - membuffer_append_str
        - membuffer_assign_str
        - membuffer_delete
        - membuffer_destroy
        - print_http_headers
        - remove_dots
        - remove_escaped_chars
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:1257,2'
          Dst:             print_http_headers
        - Src:             'upnp/src/genlib/net/http/webserver.c:1259,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/webserver.c:1266,10'
          Dst:             UpnpFileInfo_new
        - Src:             'upnp/src/genlib/net/http/webserver.c:1272,2'
          Dst:             http_CalcResponseVersion
        - Src:             'upnp/src/genlib/net/http/webserver.c:1286,2'
          Dst:             remove_escaped_chars
        - Src:             'upnp/src/genlib/net/http/webserver.c:1287,9'
          Dst:             remove_dots
        - Src:             'upnp/src/genlib/net/http/webserver.c:1297,6'
          Dst:             isFileInVirtualDir
        - Src:             'upnp/src/genlib/net/http/webserver.c:1300,7'
          Dst:             membuffer_assign_str
        - Src:             'upnp/src/genlib/net/http/webserver.c:1305,7'
          Dst:             is_valid_alias
        - Src:             'upnp/src/genlib/net/http/webserver.c:1306,4'
          Dst:             alias_grab
        - Src:             'upnp/src/genlib/net/http/webserver.c:1308,18'
          Dst:             get_alias
        - Src:             'upnp/src/genlib/net/http/webserver.c:1310,5'
          Dst:             UpnpFileInfo_set_ContentType
        - Src:             'upnp/src/genlib/net/http/webserver.c:1312,9'
          Dst:             UpnpFileInfo_get_ContentType
        - Src:             'upnp/src/genlib/net/http/webserver.c:1323,11'
          Dst:             UpnpFileInfo_get_ExtraHeadersList
        - Src:             'upnp/src/genlib/net/http/webserver.c:1321,16'
          Dst:             ExtraHTTPHeaders
        - Src:             'upnp/src/genlib/net/http/webserver.c:1329,4'
          Dst:             UpnpFileInfo_set_CtrlPtIPAddr
        - Src:             'upnp/src/genlib/net/http/webserver.c:1332,8'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/genlib/net/http/webserver.c:1334,5'
          Dst:             UpnpFileInfo_strncpy_Os
        - Src:             'upnp/src/genlib/net/http/webserver.c:1347,8'
          Dst:             UpnpFileInfo_get_IsDirectory
        - Src:             'upnp/src/genlib/net/http/webserver.c:1354,9'
          Dst:             membuffer_append_str
        - Src:             'upnp/src/genlib/net/http/webserver.c:1364,6'
          Dst:             UpnpFileInfo_get_IsDirectory
        - Src:             'upnp/src/genlib/net/http/webserver.c:1370,9'
          Dst:             UpnpFileInfo_get_IsReadable
        - Src:             'upnp/src/genlib/net/http/webserver.c:1390,7'
          Dst:             membuffer_assign_str
        - Src:             'upnp/src/genlib/net/http/webserver.c:1391,4'
          Dst:             membuffer_append_str
        - Src:             'upnp/src/genlib/net/http/webserver.c:1397,4'
          Dst:             membuffer_delete
        - Src:             'upnp/src/genlib/net/http/webserver.c:1401,8'
          Dst:             get_file_info
        - Src:             'upnp/src/genlib/net/http/webserver.c:1406,8'
          Dst:             UpnpFileInfo_get_IsDirectory
        - Src:             'upnp/src/genlib/net/http/webserver.c:1413,9'
          Dst:             membuffer_append_str
        - Src:             'upnp/src/genlib/net/http/webserver.c:1418,9'
          Dst:             get_file_info
        - Src:             'upnp/src/genlib/net/http/webserver.c:1419,6'
          Dst:             UpnpFileInfo_get_IsDirectory
        - Src:             'upnp/src/genlib/net/http/webserver.c:1425,9'
          Dst:             UpnpFileInfo_get_IsReadable
        - Src:             'upnp/src/genlib/net/http/webserver.c:1440,28'
          Dst:             UpnpFileInfo_get_FileLength
        - Src:             'upnp/src/genlib/net/http/webserver.c:1443,19'
          Dst:             UpnpFileInfo_get_FileLength
        - Src:             'upnp/src/genlib/net/http/webserver.c:1442,9'
          Dst:             CheckOtherHTTPHeaders
        - Src:             'upnp/src/genlib/net/http/webserver.c:1456,3'
          Dst:             UpnpFileInfo_get_FileLength
        - Src:             'upnp/src/genlib/net/http/webserver.c:1469,21'
          Dst:             UpnpFileInfo_get_LastModified
        - Src:             'upnp/src/genlib/net/http/webserver.c:1484,8'
          Dst:             UpnpFileInfo_get_ContentType
        - Src:             'upnp/src/genlib/net/http/webserver.c:1492,8'
          Dst:             UpnpFileInfo_get_ExtraHeadersList
        - Src:             'upnp/src/genlib/net/http/webserver.c:1473,7'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/webserver.c:1510,8'
          Dst:             UpnpFileInfo_get_ContentType
        - Src:             'upnp/src/genlib/net/http/webserver.c:1518,8'
          Dst:             UpnpFileInfo_get_ExtraHeadersList
        - Src:             'upnp/src/genlib/net/http/webserver.c:1497,7'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/webserver.c:1533,8'
          Dst:             UpnpFileInfo_get_ContentType
        - Src:             'upnp/src/genlib/net/http/webserver.c:1540,8'
          Dst:             UpnpFileInfo_get_ExtraHeadersList
        - Src:             'upnp/src/genlib/net/http/webserver.c:1523,7'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/webserver.c:1559,9'
          Dst:             UpnpFileInfo_get_ContentType
        - Src:             'upnp/src/genlib/net/http/webserver.c:1566,9'
          Dst:             UpnpFileInfo_get_ExtraHeadersList
        - Src:             'upnp/src/genlib/net/http/webserver.c:1546,8'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/webserver.c:1581,9'
          Dst:             UpnpFileInfo_get_ContentType
        - Src:             'upnp/src/genlib/net/http/webserver.c:1588,9'
          Dst:             UpnpFileInfo_get_ExtraHeadersList
        - Src:             'upnp/src/genlib/net/http/webserver.c:1571,8'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/webserver.c:1608,3'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/genlib/net/http/webserver.c:1615,19'
          Dst:             UpnpFileInfo_get_ExtraHeadersList
        - Src:             'upnp/src/genlib/net/http/webserver.c:1614,2'
          Dst:             FreeExtraHTTPHeaders
        - Src:             'upnp/src/genlib/net/http/webserver.c:1616,2'
          Dst:             UpnpFileInfo_delete
        - Src:             'upnp/src/genlib/net/http/webserver.c:1618,3'
          Dst:             alias_release
    - functionName:    alias_grab
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 404
      functionLinenumberEnd: 410
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - is_valid_alias
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:405,2'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/genlib/net/http/webserver.c:406,2'
          Dst:             is_valid_alias
        - Src:             'upnp/src/genlib/net/http/webserver.c:406,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/webserver.c:409,2'
          Dst:             pthread_mutex_unlock
    - functionName:    alias_release
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 419
      functionLinenumberEnd: 444
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          103
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - glob_alias_init
        - is_valid_alias
        - membuffer_destroy
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:422,2'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/genlib/net/http/webserver.c:424,7'
          Dst:             is_valid_alias
        - Src:             'upnp/src/genlib/net/http/webserver.c:425,3'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/genlib/net/http/webserver.c:433,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/webserver.c:436,3'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/genlib/net/http/webserver.c:437,3'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/genlib/net/http/webserver.c:441,4'
          Dst:             glob_alias_init
        - Src:             'upnp/src/genlib/net/http/webserver.c:443,2'
          Dst:             pthread_mutex_unlock
    - functionName:    glob_alias_init
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 376
      functionLinenumberEnd: 383
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - membuffer_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:379,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/genlib/net/http/webserver.c:380,2'
          Dst:             membuffer_init
    - functionName:    web_server_callback
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1777
      functionLinenumberEnd: 1878
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          133
      EdgeCount:       25
      CyclomaticComplexity: 14
      functionsReached:
        - UpnpPrintf
        - __assert_fail
        - alias_release
        - http_MakeMessage
        - http_RecvPostMessage
        - http_SendMessage
        - http_SendStatusResponse
        - membuffer_destroy
        - membuffer_init
        - process_request
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/genlib/net/http/webserver.c:1801,3'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:1788,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/genlib/net/http/webserver.c:1789,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/genlib/net/http/webserver.c:1793,8'
          Dst:             process_request
        - Src:             'upnp/src/genlib/net/http/webserver.c:1797,3'
          Dst:             http_SendStatusResponse
        - Src:             'upnp/src/genlib/net/http/webserver.c:1803,4'
          Dst:             http_SendMessage
        - Src:             'upnp/src/genlib/net/http/webserver.c:1812,4'
          Dst:             http_SendMessage
        - Src:             'upnp/src/genlib/net/http/webserver.c:1820,4'
          Dst:             alias_release
        - Src:             'upnp/src/genlib/net/http/webserver.c:1827,4'
          Dst:             http_SendMessage
        - Src:             'upnp/src/genlib/net/http/webserver.c:1837,4'
          Dst:             http_SendMessage
        - Src:             'upnp/src/genlib/net/http/webserver.c:1845,10'
          Dst:             http_RecvPostMessage
        - Src:             'upnp/src/genlib/net/http/webserver.c:1848,4'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/genlib/net/http/webserver.c:1856,4'
          Dst:             http_SendMessage
        - Src:             'upnp/src/genlib/net/http/webserver.c:1863,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/webserver.c:1868,4'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/webserver.c:1871,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/net/http/webserver.c:1876,2'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/genlib/net/http/webserver.c:1877,2'
          Dst:             membuffer_destroy
    - functionName:    web_server_set_cors
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 666
      functionLinenumberEnd: 674
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - membuffer_assign_str
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:669,8'
          Dst:             membuffer_assign_str
    - functionName:    web_server_set_root_dir
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 648
      functionLinenumberEnd: 663
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          62
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - membuffer_assign_str
        - membuffer_delete
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:652,8'
          Dst:             membuffer_assign_str
        - Src:             'upnp/src/genlib/net/http/webserver.c:659,4'
          Dst:             membuffer_delete
    - functionName:    web_server_destroy
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 554
      functionLinenumberEnd: 567
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - alias_release
        - membuffer_destroy
        - pthread_mutex_destroy
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:556,3'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/genlib/net/http/webserver.c:557,3'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/genlib/net/http/webserver.c:558,3'
          Dst:             alias_release
        - Src:             'upnp/src/genlib/net/http/webserver.c:560,3'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/genlib/net/http/webserver.c:562,3'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/genlib/net/http/webserver.c:564,3'
          Dst:             pthread_mutex_destroy
    - functionName:    media_list_init
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 258
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          81
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:267,8'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/webserver.c:273,8'
          Dst:             strlen
        - Src:             'upnp/src/genlib/net/http/webserver.c:275,2'
          Dst:             __assert_fail
    - functionName:    web_server_init
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 525
      functionLinenumberEnd: 550
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - glob_alias_init
        - media_list_init
        - membuffer_init
        - pthread_mutex_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:530,3'
          Dst:             media_list_init
        - Src:             'upnp/src/genlib/net/http/webserver.c:531,3'
          Dst:             membuffer_init
        - Src:             'upnp/src/genlib/net/http/webserver.c:532,3'
          Dst:             membuffer_init
        - Src:             'upnp/src/genlib/net/http/webserver.c:533,3'
          Dst:             glob_alias_init
        - Src:             'upnp/src/genlib/net/http/webserver.c:544,7'
          Dst:             pthread_mutex_init
    - functionName:    web_server_ut_set_alias
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 510
      functionLinenumberEnd: 522
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          74
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - web_server_set_alias
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:521,9'
          Dst:             web_server_set_alias
    - functionName:    web_server_set_alias
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 450
      functionLinenumberEnd: 492
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          119
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - alias_release
        - membuffer_append_str
        - membuffer_assign_str
        - membuffer_attach
        - membuffer_destroy
        - membuffer_init
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:454,2'
          Dst:             alias_release
        - Src:             'upnp/src/genlib/net/http/webserver.c:459,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/webserver.c:460,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/genlib/net/http/webserver.c:461,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/genlib/net/http/webserver.c:466,8'
          Dst:             membuffer_assign_str
        - Src:             'upnp/src/genlib/net/http/webserver.c:468,14'
          Dst:             membuffer_append_str
        - Src:             'upnp/src/genlib/net/http/webserver.c:474,3'
          Dst:             membuffer_attach
        - Src:             'upnp/src/genlib/net/http/webserver.c:479,3'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/genlib/net/http/webserver.c:481,3'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/genlib/net/http/webserver.c:487,2'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/genlib/net/http/webserver.c:488,2'
          Dst:             membuffer_destroy
    - functionName:    web_server_ut_release_alias
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 504
      functionLinenumberEnd: 506
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - alias_release
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:505,2'
          Dst:             alias_release
    - functionName:    web_server_ut_grab_alias
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/webserver.c'
      linkageType:     InternalLinkage
      functionLinenumber: 499
      functionLinenumberEnd: 501
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - alias_grab
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/webserver.c:500,2'
          Dst:             alias_grab
    - functionName:    getServiceTable
      functionSourceFile: '/src/pupnp/upnp/src/genlib/service_table/service_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1089
      functionLinenumberEnd: 1112
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          93
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - getAllServiceList
        - getElementValue
        - getSubElement
        - ixmlCloneDOMString
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/service_table/service_table.c:1093,6'
          Dst:             getSubElement
        - Src:             'upnp/src/genlib/service_table/service_table.c:1094,7'
          Dst:             getSubElement
        - Src:             'upnp/src/genlib/service_table/service_table.c:1095,19'
          Dst:             getElementValue
        - Src:             'upnp/src/genlib/service_table/service_table.c:1099,6'
          Dst:             ixmlCloneDOMString
        - Src:             'upnp/src/genlib/service_table/service_table.c:1101,20'
          Dst:             ixmlCloneDOMString
        - Src:             'upnp/src/genlib/service_table/service_table.c:1104,22'
          Dst:             getAllServiceList
    - functionName:    getSubElement
      functionSourceFile: '/src/pupnp/upnp/src/genlib/service_table/service_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 709
      functionLinenumberEnd: 732
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          90
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - ixmlNode_getFirstChild
        - ixmlNode_getNextSibling
        - ixmlNode_getNodeName
        - ixmlNode_getNodeType
        - strcmp
      functionUses:    13
      BranchProfiles:
        - Branch String:   'upnp/src/genlib/service_table/service_table.c:716,3'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/genlib/service_table/service_table.c:712,34'
          Dst:             ixmlNode_getFirstChild
        - Src:             'upnp/src/genlib/service_table/service_table.c:716,11'
          Dst:             ixmlNode_getNodeType
        - Src:             'upnp/src/genlib/service_table/service_table.c:718,15'
          Dst:             ixmlNode_getNodeName
        - Src:             'upnp/src/genlib/service_table/service_table.c:719,9'
          Dst:             strcmp
        - Src:             'upnp/src/genlib/service_table/service_table.c:728,24'
          Dst:             ixmlNode_getNextSibling
    - functionName:    getElementValue
      functionSourceFile: '/src/pupnp/upnp/src/genlib/service_table/service_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 679
      functionLinenumberEnd: 690
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          50
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ixmlCloneDOMString
        - ixmlNode_getFirstChild
        - ixmlNode_getNodeType
        - ixmlNode_getNodeValue
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/service_table/service_table.c:680,34'
          Dst:             ixmlNode_getFirstChild
        - Src:             'upnp/src/genlib/service_table/service_table.c:683,15'
          Dst:             ixmlNode_getNodeType
        - Src:             'upnp/src/genlib/service_table/service_table.c:684,10'
          Dst:             ixmlNode_getNodeValue
        - Src:             'upnp/src/genlib/service_table/service_table.c:686,10'
          Dst:             ixmlCloneDOMString
    - functionName:    getAllServiceList
      functionSourceFile: '/src/pupnp/upnp/src/genlib/service_table/service_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 905
      functionLinenumberEnd: 936
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          106
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - getServiceList
        - ixmlElement_getElementsByTagName
        - ixmlNodeList_free
        - ixmlNodeList_item
        - ixmlNodeList_length
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/service_table/service_table.c:916,15'
          Dst:             ixmlElement_getElementsByTagName
        - Src:             'upnp/src/genlib/service_table/service_table.c:919,18'
          Dst:             ixmlNodeList_length
        - Src:             'upnp/src/genlib/service_table/service_table.c:921,20'
          Dst:             ixmlNodeList_item
        - Src:             'upnp/src/genlib/service_table/service_table.c:923,17'
          Dst:             getServiceList
        - Src:             'upnp/src/genlib/service_table/service_table.c:928,12'
          Dst:             getServiceList
        - Src:             'upnp/src/genlib/service_table/service_table.c:932,3'
          Dst:             ixmlNodeList_free
    - functionName:    getServiceList
      functionSourceFile: '/src/pupnp/upnp/src/genlib/service_table/service_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 748
      functionLinenumberEnd: 888
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         66
      ICount:          405
      EdgeCount:       88
      CyclomaticComplexity: 24
      functionsReached:
        - UpnpPrintf
        - freeServiceList
        - getElementValue
        - getSubElement
        - ixmlElement_getElementsByTagName
        - ixmlFreeDOMString
        - ixmlNodeList_free
        - ixmlNodeList_item
        - ixmlNodeList_length
        - resolve_rel_url
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/service_table/service_table.c:767,6'
          Dst:             getSubElement
        - Src:             'upnp/src/genlib/service_table/service_table.c:768,3'
          Dst:             getSubElement
        - Src:             'upnp/src/genlib/service_table/service_table.c:769,21'
          Dst:             ixmlElement_getElementsByTagName
        - Src:             'upnp/src/genlib/service_table/service_table.c:772,20'
          Dst:             ixmlNodeList_length
        - Src:             'upnp/src/genlib/service_table/service_table.c:775,6'
          Dst:             ixmlNodeList_item
        - Src:             'upnp/src/genlib/service_table/service_table.c:787,6'
          Dst:             freeServiceList
        - Src:             'upnp/src/genlib/service_table/service_table.c:788,6'
          Dst:             ixmlNodeList_free
        - Src:             'upnp/src/genlib/service_table/service_table.c:800,26'
          Dst:             getElementValue
        - Src:             'upnp/src/genlib/service_table/service_table.c:802,10'
          Dst:             getSubElement
        - Src:             'upnp/src/genlib/service_table/service_table.c:806,8'
          Dst:             getElementValue
        - Src:             'upnp/src/genlib/service_table/service_table.c:809,10'
          Dst:             getSubElement
        - Src:             'upnp/src/genlib/service_table/service_table.c:812,29'
          Dst:             getElementValue
        - Src:             'upnp/src/genlib/service_table/service_table.c:815,10'
          Dst:             getSubElement
        - Src:             'upnp/src/genlib/service_table/service_table.c:818,24'
          Dst:             getElementValue
        - Src:             'upnp/src/genlib/service_table/service_table.c:820,27'
          Dst:             resolve_rel_url
        - Src:             'upnp/src/genlib/service_table/service_table.c:823,5'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/genlib/service_table/service_table.c:825,11'
          Dst:             getSubElement
        - Src:             'upnp/src/genlib/service_table/service_table.c:828,24'
          Dst:             getElementValue
        - Src:             'upnp/src/genlib/service_table/service_table.c:830,30'
          Dst:             resolve_rel_url
        - Src:             'upnp/src/genlib/service_table/service_table.c:832,6'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/service_table/service_table.c:837,6'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/service_table/service_table.c:846,5'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/genlib/service_table/service_table.c:848,10'
          Dst:             getSubElement
        - Src:             'upnp/src/genlib/service_table/service_table.c:851,24'
          Dst:             getElementValue
        - Src:             'upnp/src/genlib/service_table/service_table.c:853,28'
          Dst:             resolve_rel_url
        - Src:             'upnp/src/genlib/service_table/service_table.c:855,6'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/service_table/service_table.c:860,6'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/service_table/service_table.c:869,5'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/genlib/service_table/service_table.c:872,6'
          Dst:             freeServiceList
        - Src:             'upnp/src/genlib/service_table/service_table.c:880,4'
          Dst:             ixmlNodeList_free
    - functionName:    freeServiceList
      functionSourceFile: '/src/pupnp/upnp/src/genlib/service_table/service_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 618
      functionLinenumberEnd: 642
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         27
      ICount:          153
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - freeSubscriptionList
        - ixmlFreeDOMString
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/service_table/service_table.c:623,4'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/genlib/service_table/service_table.c:625,4'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/genlib/service_table/service_table.c:633,4'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/genlib/service_table/service_table.c:635,4'
          Dst:             freeSubscriptionList
    - functionName:    freeSubscriptionList
      functionSourceFile: '/src/pupnp/upnp/src/genlib/service_table/service_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 225
      functionLinenumberEnd: 234
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - freeSubscription
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/service_table/service_table.c:230,3'
          Dst:             freeSubscription
    - functionName:    freeSubscription
      functionSourceFile: '/src/pupnp/upnp/src/genlib/service_table/service_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 209
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - freeSubscriptionQueuedEvents
        - free_URL_list
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/service_table/service_table.c:206,3'
          Dst:             free_URL_list
        - Src:             'upnp/src/genlib/service_table/service_table.c:207,3'
          Dst:             freeSubscriptionQueuedEvents
    - functionName:    addServiceTable
      functionSourceFile: '/src/pupnp/upnp/src/genlib/service_table/service_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1041
      functionLinenumberEnd: 1069
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          116
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - getAllServiceList
        - getElementValue
        - getSubElement
        - ixmlCloneDOMString
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/service_table/service_table.c:1050,6'
          Dst:             getSubElement
        - Src:             'upnp/src/genlib/service_table/service_table.c:1051,7'
          Dst:             getSubElement
        - Src:             'upnp/src/genlib/service_table/service_table.c:1052,18'
          Dst:             getElementValue
        - Src:             'upnp/src/genlib/service_table/service_table.c:1056,6'
          Dst:             ixmlCloneDOMString
        - Src:             'upnp/src/genlib/service_table/service_table.c:1058,19'
          Dst:             ixmlCloneDOMString
        - Src:             'upnp/src/genlib/service_table/service_table.c:1061,35'
          Dst:             getAllServiceList
    - functionName:    removeServiceTable
      functionSourceFile: '/src/pupnp/upnp/src/genlib/service_table/service_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 954
      functionLinenumberEnd: 1022
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         41
      ICount:          228
      EdgeCount:       54
      CyclomaticComplexity: 15
      functionsReached:
        - freeService
        - getElementValue
        - getSubElement
        - ixmlElement_getElementsByTagName
        - ixmlFreeDOMString
        - ixmlNodeList_free
        - ixmlNodeList_length
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/service_table/service_table.c:965,6'
          Dst:             getSubElement
        - Src:             'upnp/src/genlib/service_table/service_table.c:967,16'
          Dst:             ixmlElement_getElementsByTagName
        - Src:             'upnp/src/genlib/service_table/service_table.c:970,19'
          Dst:             ixmlNodeList_length
        - Src:             'upnp/src/genlib/service_table/service_table.c:973,8'
          Dst:             getSubElement
        - Src:             'upnp/src/genlib/service_table/service_table.c:975,14'
          Dst:             getElementValue
        - Src:             'upnp/src/genlib/service_table/service_table.c:984,8'
          Dst:             strcmp
        - Src:             'upnp/src/genlib/service_table/service_table.c:994,9'
          Dst:             strcmp
        - Src:             'upnp/src/genlib/service_table/service_table.c:1011,7'
          Dst:             freeService
        - Src:             'upnp/src/genlib/service_table/service_table.c:1014,6'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/genlib/service_table/service_table.c:1019,4'
          Dst:             ixmlNodeList_free
    - functionName:    freeService
      functionSourceFile: '/src/pupnp/upnp/src/genlib/service_table/service_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 576
      functionLinenumberEnd: 602
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         27
      ICount:          145
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - freeSubscriptionList
        - ixmlFreeDOMString
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/service_table/service_table.c:579,4'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/genlib/service_table/service_table.c:582,4'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/genlib/service_table/service_table.c:594,4'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/genlib/service_table/service_table.c:597,4'
          Dst:             freeSubscriptionList
    - functionName:    freeServiceTable
      functionSourceFile: '/src/pupnp/upnp/src/genlib/service_table/service_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 659
      functionLinenumberEnd: 664
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - freeServiceList
        - ixmlFreeDOMString
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/service_table/service_table.c:660,2'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/genlib/service_table/service_table.c:661,2'
          Dst:             freeServiceList
    - functionName:    printServiceTable
      functionSourceFile: '/src/pupnp/upnp/src/genlib/service_table/service_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 549
      functionLinenumberEnd: 558
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          32
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpPrintf
        - printServiceList
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/service_table/service_table.c:550,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/service_table/service_table.c:556,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/service_table/service_table.c:557,2'
          Dst:             printServiceList
    - functionName:    printServiceList
      functionSourceFile: '/src/pupnp/upnp/src/genlib/service_table/service_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 464
      functionLinenumberEnd: 529
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          163
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - UpnpPrintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/service_table/service_table.c:467,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/service_table/service_table.c:475,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/service_table/service_table.c:483,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/service_table/service_table.c:491,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/service_table/service_table.c:499,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/service_table/service_table.c:507,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/service_table/service_table.c:515,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/service_table/service_table.c:521,4'
          Dst:             UpnpPrintf
    - functionName:    printService
      functionSourceFile: '/src/pupnp/upnp/src/genlib/service_table/service_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 381
      functionLinenumberEnd: 445
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          159
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - UpnpPrintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/service_table/service_table.c:384,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/service_table/service_table.c:392,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/service_table/service_table.c:400,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/service_table/service_table.c:408,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/service_table/service_table.c:416,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/service_table/service_table.c:424,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/service_table/service_table.c:432,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/genlib/service_table/service_table.c:438,4'
          Dst:             UpnpPrintf
    - functionName:    FindServiceControlURLPath
      functionSourceFile: '/src/pupnp/upnp/src/genlib/service_table/service_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 363
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          108
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - parse_uri
        - strlen
        - token_cmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/service_table/service_table.c:344,32'
          Dst:             strlen
        - Src:             'upnp/src/genlib/service_table/service_table.c:344,6'
          Dst:             parse_uri
        - Src:             'upnp/src/genlib/service_table/service_table.c:350,10'
          Dst:             strlen
        - Src:             'upnp/src/genlib/service_table/service_table.c:349,9'
          Dst:             parse_uri
        - Src:             'upnp/src/genlib/service_table/service_table.c:352,11'
          Dst:             token_cmp
    - functionName:    FindServiceEventURLPath
      functionSourceFile: '/src/pupnp/upnp/src/genlib/service_table/service_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 289
      functionLinenumberEnd: 316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          108
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - parse_uri
        - strlen
        - token_cmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/service_table/service_table.c:297,30'
          Dst:             strlen
        - Src:             'upnp/src/genlib/service_table/service_table.c:297,6'
          Dst:             parse_uri
        - Src:             'upnp/src/genlib/service_table/service_table.c:303,10'
          Dst:             strlen
        - Src:             'upnp/src/genlib/service_table/service_table.c:302,9'
          Dst:             parse_uri
        - Src:             'upnp/src/genlib/service_table/service_table.c:305,11'
          Dst:             token_cmp
    - functionName:    FindServiceId
      functionSourceFile: '/src/pupnp/upnp/src/genlib/service_table/service_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 254
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          77
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - strcmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/service_table/service_table.c:260,9'
          Dst:             strcmp
        - Src:             'upnp/src/genlib/service_table/service_table.c:261,6'
          Dst:             strcmp
    - functionName:    GetFirstSubscription
      functionSourceFile: '/src/pupnp/upnp/src/genlib/service_table/service_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 191
      functionLinenumberEnd: 200
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - GetNextSubscription
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/service_table/service_table.c:196,9'
          Dst:             GetNextSubscription
    - functionName:    GetNextSubscription
      functionSourceFile: '/src/pupnp/upnp/src/genlib/service_table/service_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 187
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          123
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - freeSubscriptionList
        - time
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/service_table/service_table.c:167,2'
          Dst:             time
        - Src:             'upnp/src/genlib/service_table/service_table.c:179,4'
          Dst:             freeSubscriptionList
    - functionName:    GetSubscriptionSID
      functionSourceFile: '/src/pupnp/upnp/src/genlib/service_table/service_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          133
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - freeSubscriptionList
        - strcmp
        - time
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/service_table/service_table.c:134,8'
          Dst:             strcmp
        - Src:             'upnp/src/genlib/service_table/service_table.c:143,3'
          Dst:             time
        - Src:             'upnp/src/genlib/service_table/service_table.c:151,4'
          Dst:             freeSubscriptionList
    - functionName:    RemoveSubscriptionSID
      functionSourceFile: '/src/pupnp/upnp/src/genlib/service_table/service_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          83
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - freeSubscriptionList
        - strcmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/service_table/service_table.c:109,8'
          Dst:             strcmp
        - Src:             'upnp/src/genlib/service_table/service_table.c:116,4'
          Dst:             freeSubscriptionList
    - functionName:    copy_subscription
      functionSourceFile: '/src/pupnp/upnp/src/genlib/service_table/service_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          75
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ListInit
        - copy_URL_list
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/service_table/service_table.c:78,16'
          Dst:             copy_URL_list
        - Src:             'upnp/src/genlib/service_table/service_table.c:82,2'
          Dst:             ListInit
    - functionName:    UpnpListErase
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 67
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          28
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpListInsert
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          32
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpListNext
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpListEnd
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpListBegin
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 41
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpListInit
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    FreeListDestroy
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/FreeList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          66
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/FreeList.c:97,2'
          Dst:             __assert_fail
    - functionName:    FreeListFree
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/FreeList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          83
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/FreeList.c:76,2'
          Dst:             __assert_fail
    - functionName:    FreeListAlloc
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/FreeList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          72
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/FreeList.c:56,2'
          Dst:             __assert_fail
    - functionName:    FreeListInit
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/FreeList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/FreeList.c:40,2'
          Dst:             __assert_fail
    - functionName:    StatsAccountHQ
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          22
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    StatsAccountLQ
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          22
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    StatsAccountMQ
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          22
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    DiffMillis
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          38
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ithread_cleanup_thread
      functionSourceFile: '/src/pupnp/upnp/inc/ithread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 254
      functionLinenumberEnd: 261
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SetPriority
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 309
      functionLinenumberEnd: 345
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          100
      EdgeCount:       16
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - pthread_getschedparam
        - pthread_self
        - pthread_setschedparam
        - sched_get_priority_max
        - sched_get_priority_min
      functionUses:    2
      BranchProfiles:
        - Branch String:   'upnp/src/threadutil/ThreadPool.c:324,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/threadutil/ThreadPool.c:320,24'
          Dst:             pthread_self
        - Src:             'upnp/src/threadutil/ThreadPool.c:320,2'
          Dst:             pthread_getschedparam
        - Src:             'upnp/src/threadutil/ThreadPool.c:321,16'
          Dst:             sched_get_priority_min
        - Src:             'upnp/src/threadutil/ThreadPool.c:322,16'
          Dst:             sched_get_priority_max
        - Src:             'upnp/src/threadutil/ThreadPool.c:342,3'
          Dst:             pthread_self
        - Src:             'upnp/src/threadutil/ThreadPool.c:341,17'
          Dst:             pthread_setschedparam
        - Src:             'upnp/src/threadutil/ThreadPool.c:343,33'
          Dst:             __errno_location
    - functionName:    pthread_getschedparam
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sched_get_priority_min
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sched_get_priority_max
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_setschedparam
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - size_t
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CalcWaitTime
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          72
      EdgeCount:       26
      CyclomaticComplexity: 14
      functionsReached:
        - DiffMillis
        - StatsAccountHQ
        - StatsAccountLQ
        - StatsAccountMQ
        - __assert_fail
        - gettimeofday
      functionUses:    3
      BranchProfiles:
        - Branch String:   'upnp/src/threadutil/ThreadPool.c:186,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/threadutil/ThreadPool.c:181,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/ThreadPool.c:182,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/ThreadPool.c:184,2'
          Dst:             gettimeofday
        - Src:             'upnp/src/threadutil/ThreadPool.c:185,9'
          Dst:             DiffMillis
        - Src:             'upnp/src/threadutil/ThreadPool.c:188,3'
          Dst:             StatsAccountLQ
        - Src:             'upnp/src/threadutil/ThreadPool.c:191,3'
          Dst:             StatsAccountMQ
        - Src:             'upnp/src/threadutil/ThreadPool.c:194,3'
          Dst:             StatsAccountHQ
        - Src:             'upnp/src/threadutil/ThreadPool.c:197,3'
          Dst:             __assert_fail
    - functionName:    gettimeofday
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BumpPriority
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 365
      functionLinenumberEnd: 403
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          140
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - DiffMillis
        - ListAddTail
        - ListDelNode
        - StatsAccountLQ
        - StatsAccountMQ
        - gettimeofday
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/ThreadPool.c:371,2'
          Dst:             gettimeofday
        - Src:             'upnp/src/threadutil/ThreadPool.c:375,15'
          Dst:             DiffMillis
        - Src:             'upnp/src/threadutil/ThreadPool.c:380,5'
          Dst:             StatsAccountMQ
        - Src:             'upnp/src/threadutil/ThreadPool.c:381,5'
          Dst:             ListDelNode
        - Src:             'upnp/src/threadutil/ThreadPool.c:383,5'
          Dst:             ListAddTail
        - Src:             'upnp/src/threadutil/ThreadPool.c:389,15'
          Dst:             DiffMillis
        - Src:             'upnp/src/threadutil/ThreadPool.c:394,5'
          Dst:             StatsAccountLQ
        - Src:             'upnp/src/threadutil/ThreadPool.c:395,5'
          Dst:             ListDelNode
        - Src:             'upnp/src/threadutil/ThreadPool.c:397,5'
          Dst:             ListAddTail
    - functionName:    SetRelTimeout
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 416
      functionLinenumberEnd: 424
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          43
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - gettimeofday
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/ThreadPool.c:421,2'
          Dst:             gettimeofday
    - functionName:    SetSeed
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 433
      functionLinenumberEnd: 459
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - gettimeofday
        - pthread_self
        - srand
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/ThreadPool.c:436,2'
          Dst:             gettimeofday
        - Src:             'upnp/src/threadutil/ThreadPool.c:446,17'
          Dst:             pthread_self
        - Src:             'upnp/src/threadutil/ThreadPool.c:445,2'
          Dst:             srand
    - functionName:    ithread_initialize_thread
      functionSourceFile: '/src/pupnp/upnp/inc/ithread.h'
      linkageType:     InternalLinkage
      functionLinenumber: 232
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WorkerThread
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 473
      functionLinenumberEnd: 613
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         61
      ICount:          490
      EdgeCount:       82
      CyclomaticComplexity: 23
      functionsReached:
        - BumpPriority
        - CalcWaitTime
        - FreeThreadPoolJob
        - ListDelNode
        - ListHead
        - SetPriority
        - SetRelTimeout
        - SetSeed
        - StatsTime
        - ithread_cleanup_thread
        - ithread_initialize_thread
        - pthread_cond_broadcast
        - pthread_cond_timedwait
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/ThreadPool.c:484,2'
          Dst:             ithread_initialize_thread
        - Src:             'upnp/src/threadutil/ThreadPool.c:487,2'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/threadutil/ThreadPool.c:490,2'
          Dst:             pthread_cond_broadcast
        - Src:             'upnp/src/threadutil/ThreadPool.c:491,2'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/threadutil/ThreadPool.c:493,2'
          Dst:             SetSeed
        - Src:             'upnp/src/threadutil/ThreadPool.c:494,2'
          Dst:             StatsTime
        - Src:             'upnp/src/threadutil/ThreadPool.c:496,3'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/threadutil/ThreadPool.c:499,4'
          Dst:             FreeThreadPoolJob
        - Src:             'upnp/src/threadutil/ThreadPool.c:505,13'
          Dst:             StatsTime
        - Src:             'upnp/src/threadutil/ThreadPool.c:506,3'
          Dst:             StatsTime
        - Src:             'upnp/src/threadutil/ThreadPool.c:530,4'
          Dst:             SetRelTimeout
        - Src:             'upnp/src/threadutil/ThreadPool.c:533,14'
          Dst:             pthread_cond_timedwait
        - Src:             'upnp/src/threadutil/ThreadPool.c:539,13'
          Dst:             StatsTime
        - Src:             'upnp/src/threadutil/ThreadPool.c:541,3'
          Dst:             StatsTime
        - Src:             'upnp/src/threadutil/ThreadPool.c:543,3'
          Dst:             BumpPriority
        - Src:             'upnp/src/threadutil/ThreadPool.c:554,5'
          Dst:             pthread_cond_broadcast
        - Src:             'upnp/src/threadutil/ThreadPool.c:560,13'
          Dst:             ListHead
        - Src:             'upnp/src/threadutil/ThreadPool.c:566,6'
          Dst:             CalcWaitTime
        - Src:             'upnp/src/threadutil/ThreadPool.c:567,6'
          Dst:             ListDelNode
        - Src:             'upnp/src/threadutil/ThreadPool.c:569,13'
          Dst:             ListHead
        - Src:             'upnp/src/threadutil/ThreadPool.c:575,6'
          Dst:             CalcWaitTime
        - Src:             'upnp/src/threadutil/ThreadPool.c:576,6'
          Dst:             ListDelNode
        - Src:             'upnp/src/threadutil/ThreadPool.c:578,13'
          Dst:             ListHead
        - Src:             'upnp/src/threadutil/ThreadPool.c:584,6'
          Dst:             CalcWaitTime
        - Src:             'upnp/src/threadutil/ThreadPool.c:585,6'
          Dst:             ListDelNode
        - Src:             'upnp/src/threadutil/ThreadPool.c:595,3'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/threadutil/ThreadPool.c:598,7'
          Dst:             SetPriority
        - Src:             'upnp/src/threadutil/ThreadPool.c:604,3'
          Dst:             SetPriority
        - Src:             'upnp/src/threadutil/ThreadPool.c:609,2'
          Dst:             pthread_cond_broadcast
        - Src:             'upnp/src/threadutil/ThreadPool.c:610,2'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/threadutil/ThreadPool.c:611,2'
          Dst:             ithread_cleanup_thread
    - functionName:    pthread_cond_broadcast
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    StatsTime
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 209
      functionLinenumberEnd: 216
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - gettimeofday
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/ThreadPool.c:212,2'
          Dst:             gettimeofday
    - functionName:    FreeThreadPoolJob
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 253
      functionLinenumberEnd: 255
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeListFree
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/ThreadPool.c:254,2'
          Dst:             FreeListFree
    - functionName:    pthread_cond_timedwait
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ThreadPoolGetStats
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1267
      functionLinenumberEnd: 1301
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          190
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - ListSize
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/ThreadPool.c:1272,3'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/threadutil/ThreadPool.c:1292,30'
          Dst:             ListSize
        - Src:             'upnp/src/threadutil/ThreadPool.c:1293,30'
          Dst:             ListSize
        - Src:             'upnp/src/threadutil/ThreadPool.c:1294,30'
          Dst:             ListSize
        - Src:             'upnp/src/threadutil/ThreadPool.c:1298,3'
          Dst:             pthread_mutex_unlock
    - functionName:    ThreadPoolPrintStats
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1230
      functionLinenumberEnd: 1264
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          97
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - StatsTime
        - fprintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/ThreadPool.c:1237,9'
          Dst:             StatsTime
        - Src:             'upnp/src/threadutil/ThreadPool.c:1235,2'
          Dst:             fprintf
        - Src:             'upnp/src/threadutil/ThreadPool.c:1238,2'
          Dst:             fprintf
        - Src:             'upnp/src/threadutil/ThreadPool.c:1239,2'
          Dst:             fprintf
        - Src:             'upnp/src/threadutil/ThreadPool.c:1240,2'
          Dst:             fprintf
        - Src:             'upnp/src/threadutil/ThreadPool.c:1241,2'
          Dst:             fprintf
        - Src:             'upnp/src/threadutil/ThreadPool.c:1244,2'
          Dst:             fprintf
        - Src:             'upnp/src/threadutil/ThreadPool.c:1247,2'
          Dst:             fprintf
        - Src:             'upnp/src/threadutil/ThreadPool.c:1250,2'
          Dst:             fprintf
        - Src:             'upnp/src/threadutil/ThreadPool.c:1251,2'
          Dst:             fprintf
        - Src:             'upnp/src/threadutil/ThreadPool.c:1252,2'
          Dst:             fprintf
        - Src:             'upnp/src/threadutil/ThreadPool.c:1255,2'
          Dst:             fprintf
        - Src:             'upnp/src/threadutil/ThreadPool.c:1256,2'
          Dst:             fprintf
        - Src:             'upnp/src/threadutil/ThreadPool.c:1257,2'
          Dst:             fprintf
        - Src:             'upnp/src/threadutil/ThreadPool.c:1260,2'
          Dst:             fprintf
        - Src:             'upnp/src/threadutil/ThreadPool.c:1263,2'
          Dst:             fprintf
    - functionName:    TPAttrSetMaxJobsTotal
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1220
      functionLinenumberEnd: 1226
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPAttrSetSchedPolicy
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1211
      functionLinenumberEnd: 1217
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPAttrSetStarvationTime
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1202
      functionLinenumberEnd: 1208
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPAttrSetJobsPerThread
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1193
      functionLinenumberEnd: 1199
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPAttrSetIdleTime
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1184
      functionLinenumberEnd: 1190
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPAttrSetStackSize
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1175
      functionLinenumberEnd: 1181
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPAttrSetMinThreads
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1166
      functionLinenumberEnd: 1172
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPAttrSetMaxThreads
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1157
      functionLinenumberEnd: 1163
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPJobSetFreeFunction
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1148
      functionLinenumberEnd: 1154
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    16
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPJobSetPriority
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1133
      functionLinenumberEnd: 1145
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          45
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    16
      BranchProfiles:
        - Branch String:   'upnp/src/threadutil/ThreadPool.c:1136,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    TPJobInit
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1121
      functionLinenumberEnd: 1130
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          47
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    17
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TPSetMaxJobsTotal
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1102
      functionLinenumberEnd: 1102
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ThreadPoolSetAttr
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 980
      functionLinenumberEnd: 1018
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          138
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - CreateWorker
        - SetPolicyType
        - TPAttrInit
        - ThreadPoolShutdown
        - pthread_cond_signal
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/ThreadPool.c:988,2'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/threadutil/ThreadPool.c:993,3'
          Dst:             TPAttrInit
        - Src:             'upnp/src/threadutil/ThreadPool.c:994,6'
          Dst:             SetPolicyType
        - Src:             'upnp/src/threadutil/ThreadPool.c:995,3'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/threadutil/ThreadPool.c:1002,14'
          Dst:             CreateWorker
        - Src:             'upnp/src/threadutil/ThreadPool.c:1009,2'
          Dst:             pthread_cond_signal
        - Src:             'upnp/src/threadutil/ThreadPool.c:1011,2'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/threadutil/ThreadPool.c:1015,3'
          Dst:             ThreadPoolShutdown
    - functionName:    TPAttrInit
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1105
      functionLinenumberEnd: 1118
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          46
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SetPolicyType
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 270
      functionLinenumberEnd: 294
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - sched_get_priority_min
        - sched_getparam
        - sched_setscheduler
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/ThreadPool.c:287,2'
          Dst:             sched_getparam
        - Src:             'upnp/src/threadutil/ThreadPool.c:288,27'
          Dst:             sched_get_priority_min
        - Src:             'upnp/src/threadutil/ThreadPool.c:289,17'
          Dst:             sched_setscheduler
        - Src:             'upnp/src/threadutil/ThreadPool.c:290,34'
          Dst:             __errno_location
        - Src:             'upnp/src/threadutil/ThreadPool.c:290,56'
          Dst:             __errno_location
    - functionName:    CreateWorker
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 660
      functionLinenumberEnd: 692
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          134
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - WorkerThread
        - pthread_attr_destroy
        - pthread_attr_init
        - pthread_attr_setdetachstate
        - pthread_attr_setstacksize
        - pthread_cond_wait
        - pthread_create
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/ThreadPool.c:668,3'
          Dst:             pthread_cond_wait
        - Src:             'upnp/src/threadutil/ThreadPool.c:675,2'
          Dst:             pthread_attr_init
        - Src:             'upnp/src/threadutil/ThreadPool.c:676,2'
          Dst:             pthread_attr_setstacksize
        - Src:             'upnp/src/threadutil/ThreadPool.c:677,2'
          Dst:             pthread_attr_setdetachstate
        - Src:             'upnp/src/threadutil/ThreadPool.c:678,7'
          Dst:             pthread_create
        - Src:             'upnp/src/threadutil/ThreadPool.c:678,7'
          Dst:             WorkerThread
        - Src:             'upnp/src/threadutil/ThreadPool.c:679,2'
          Dst:             pthread_attr_destroy
        - Src:             'upnp/src/threadutil/ThreadPool.c:684,4'
          Dst:             pthread_cond_wait
    - functionName:    pthread_cond_signal
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ThreadPoolShutdown
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1021
      functionLinenumberEnd: 1098
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         48
      ICount:          314
      EdgeCount:       64
      CyclomaticComplexity: 18
      functionsReached:
        - FreeListDestroy
        - FreeThreadPoolJob
        - ListDelNode
        - ListDestroy
        - ListHead
        - pthread_cond_broadcast
        - pthread_cond_destroy
        - pthread_cond_wait
        - pthread_mutex_destroy
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/ThreadPool.c:1027,2'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/threadutil/ThreadPool.c:1030,10'
          Dst:             ListHead
        - Src:             'upnp/src/threadutil/ThreadPool.c:1032,4'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/threadutil/ThreadPool.c:1038,3'
          Dst:             FreeThreadPoolJob
        - Src:             'upnp/src/threadutil/ThreadPool.c:1039,3'
          Dst:             ListDelNode
        - Src:             'upnp/src/threadutil/ThreadPool.c:1041,2'
          Dst:             ListDestroy
        - Src:             'upnp/src/threadutil/ThreadPool.c:1044,10'
          Dst:             ListHead
        - Src:             'upnp/src/threadutil/ThreadPool.c:1046,4'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/threadutil/ThreadPool.c:1052,3'
          Dst:             FreeThreadPoolJob
        - Src:             'upnp/src/threadutil/ThreadPool.c:1053,3'
          Dst:             ListDelNode
        - Src:             'upnp/src/threadutil/ThreadPool.c:1055,2'
          Dst:             ListDestroy
        - Src:             'upnp/src/threadutil/ThreadPool.c:1058,10'
          Dst:             ListHead
        - Src:             'upnp/src/threadutil/ThreadPool.c:1060,4'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/threadutil/ThreadPool.c:1066,3'
          Dst:             FreeThreadPoolJob
        - Src:             'upnp/src/threadutil/ThreadPool.c:1067,3'
          Dst:             ListDelNode
        - Src:             'upnp/src/threadutil/ThreadPool.c:1069,2'
          Dst:             ListDestroy
        - Src:             'upnp/src/threadutil/ThreadPool.c:1075,3'
          Dst:             FreeThreadPoolJob
        - Src:             'upnp/src/threadutil/ThreadPool.c:1080,2'
          Dst:             pthread_cond_broadcast
        - Src:             'upnp/src/threadutil/ThreadPool.c:1083,3'
          Dst:             pthread_cond_wait
        - Src:             'upnp/src/threadutil/ThreadPool.c:1085,9'
          Dst:             pthread_cond_destroy
        - Src:             'upnp/src/threadutil/ThreadPool.c:1087,9'
          Dst:             pthread_cond_destroy
        - Src:             'upnp/src/threadutil/ThreadPool.c:1089,2'
          Dst:             FreeListDestroy
        - Src:             'upnp/src/threadutil/ThreadPool.c:1091,2'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/threadutil/ThreadPool.c:1094,9'
          Dst:             pthread_mutex_destroy
    - functionName:    pthread_cond_wait
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_cond_destroy
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_attr_init
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_attr_setstacksize
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_attr_setdetachstate
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_create
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_attr_destroy
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sched_getparam
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sched_setscheduler
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ThreadPoolGetAttr
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 967
      functionLinenumberEnd: 977
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          73
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/ThreadPool.c:971,3'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/threadutil/ThreadPool.c:974,3'
          Dst:             pthread_mutex_unlock
    - functionName:    ThreadPoolRemove
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 910
      functionLinenumberEnd: 964
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          177
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - FreeThreadPoolJob
        - ListDelNode
        - ListFind
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/ThreadPool.c:922,2'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/threadutil/ThreadPool.c:924,13'
          Dst:             ListFind
        - Src:             'upnp/src/threadutil/ThreadPool.c:928,3'
          Dst:             ListDelNode
        - Src:             'upnp/src/threadutil/ThreadPool.c:929,3'
          Dst:             FreeThreadPoolJob
        - Src:             'upnp/src/threadutil/ThreadPool.c:934,13'
          Dst:             ListFind
        - Src:             'upnp/src/threadutil/ThreadPool.c:938,3'
          Dst:             ListDelNode
        - Src:             'upnp/src/threadutil/ThreadPool.c:939,3'
          Dst:             FreeThreadPoolJob
        - Src:             'upnp/src/threadutil/ThreadPool.c:943,13'
          Dst:             ListFind
        - Src:             'upnp/src/threadutil/ThreadPool.c:947,3'
          Dst:             ListDelNode
        - Src:             'upnp/src/threadutil/ThreadPool.c:948,3'
          Dst:             FreeThreadPoolJob
        - Src:             'upnp/src/threadutil/ThreadPool.c:954,3'
          Dst:             FreeThreadPoolJob
        - Src:             'upnp/src/threadutil/ThreadPool.c:961,2'
          Dst:             pthread_mutex_unlock
    - functionName:    AddWorker
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 706
      functionLinenumberEnd: 719
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          98
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - CreateWorker
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/ThreadPool.c:714,7'
          Dst:             CreateWorker
    - functionName:    ThreadPoolAdd
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 839
      functionLinenumberEnd: 907
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          243
      EdgeCount:       49
      CyclomaticComplexity: 12
      functionsReached:
        - AddWorker
        - CreateThreadPoolJob
        - FreeThreadPoolJob
        - ListAddTail
        - backtrace
        - backtrace_symbols_fd
        - fprintf
        - pthread_cond_signal
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    13
      BranchProfiles:
        - Branch String:   'upnp/src/threadutil/ThreadPool.c:881,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/threadutil/ThreadPool.c:848,2'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/threadutil/ThreadPool.c:853,4'
          Dst:             fprintf
        - Src:             'upnp/src/threadutil/ThreadPool.c:860,13'
          Dst:             backtrace
        - Src:             'upnp/src/threadutil/ThreadPool.c:861,5'
          Dst:             backtrace_symbols_fd
        - Src:             'upnp/src/threadutil/ThreadPool.c:869,3'
          Dst:             fprintf
        - Src:             'upnp/src/threadutil/ThreadPool.c:878,9'
          Dst:             CreateThreadPoolJob
        - Src:             'upnp/src/threadutil/ThreadPool.c:883,7'
          Dst:             ListAddTail
        - Src:             'upnp/src/threadutil/ThreadPool.c:887,7'
          Dst:             ListAddTail
        - Src:             'upnp/src/threadutil/ThreadPool.c:891,7'
          Dst:             ListAddTail
        - Src:             'upnp/src/threadutil/ThreadPool.c:895,2'
          Dst:             AddWorker
        - Src:             'upnp/src/threadutil/ThreadPool.c:898,3'
          Dst:             pthread_cond_signal
        - Src:             'upnp/src/threadutil/ThreadPool.c:900,3'
          Dst:             FreeThreadPoolJob
        - Src:             'upnp/src/threadutil/ThreadPool.c:904,2'
          Dst:             pthread_mutex_unlock
    - functionName:    backtrace
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    backtrace_symbols_fd
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CreateThreadPoolJob
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 630
      functionLinenumberEnd: 640
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - FreeListAlloc
        - gettimeofday
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/ThreadPool.c:633,28'
          Dst:             FreeListAlloc
        - Src:             'upnp/src/threadutil/ThreadPool.c:637,3'
          Dst:             gettimeofday
    - functionName:    ThreadPoolAddPersistent
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 791
      functionLinenumberEnd: 836
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          148
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - CreateThreadPoolJob
        - CreateWorker
        - pthread_cond_signal
        - pthread_cond_wait
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/ThreadPool.c:804,2'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/threadutil/ThreadPool.c:808,3'
          Dst:             CreateWorker
        - Src:             'upnp/src/threadutil/ThreadPool.c:817,9'
          Dst:             CreateThreadPoolJob
        - Src:             'upnp/src/threadutil/ThreadPool.c:825,2'
          Dst:             pthread_cond_signal
        - Src:             'upnp/src/threadutil/ThreadPool.c:829,3'
          Dst:             pthread_cond_wait
        - Src:             'upnp/src/threadutil/ThreadPool.c:833,2'
          Dst:             pthread_mutex_unlock
    - functionName:    CmpThreadPoolJob
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 236
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          23
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    StatsInit
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          60
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ThreadPoolInit
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/ThreadPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 722
      functionLinenumberEnd: 788
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          232
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - CmpThreadPoolJob
        - CreateWorker
        - FreeListInit
        - ListInit
        - SetPolicyType
        - StatsInit
        - TPAttrInit
        - ThreadPoolShutdown
        - pthread_cond_destroy
        - pthread_cond_init
        - pthread_mutex_destroy
        - pthread_mutex_init
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/ThreadPool.c:730,13'
          Dst:             pthread_mutex_init
        - Src:             'upnp/src/threadutil/ThreadPool.c:731,13'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/threadutil/ThreadPool.c:733,13'
          Dst:             pthread_cond_init
        - Src:             'upnp/src/threadutil/ThreadPool.c:734,13'
          Dst:             pthread_cond_init
        - Src:             'upnp/src/threadutil/ThreadPool.c:736,3'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/threadutil/ThreadPool.c:737,3'
          Dst:             pthread_mutex_destroy
        - Src:             'upnp/src/threadutil/ThreadPool.c:738,3'
          Dst:             pthread_cond_destroy
        - Src:             'upnp/src/threadutil/ThreadPool.c:739,3'
          Dst:             pthread_cond_destroy
        - Src:             'upnp/src/threadutil/ThreadPool.c:745,3'
          Dst:             TPAttrInit
        - Src:             'upnp/src/threadutil/ThreadPool.c:747,6'
          Dst:             SetPolicyType
        - Src:             'upnp/src/threadutil/ThreadPool.c:748,3'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/threadutil/ThreadPool.c:749,3'
          Dst:             pthread_mutex_destroy
        - Src:             'upnp/src/threadutil/ThreadPool.c:750,3'
          Dst:             pthread_cond_destroy
        - Src:             'upnp/src/threadutil/ThreadPool.c:751,3'
          Dst:             pthread_cond_destroy
        - Src:             'upnp/src/threadutil/ThreadPool.c:755,13'
          Dst:             FreeListInit
        - Src:             'upnp/src/threadutil/ThreadPool.c:757,2'
          Dst:             StatsInit
        - Src:             'upnp/src/threadutil/ThreadPool.c:759,13'
          Dst:             ListInit
        - Src:             'upnp/src/threadutil/ThreadPool.c:759,13'
          Dst:             CmpThreadPoolJob
        - Src:             'upnp/src/threadutil/ThreadPool.c:760,13'
          Dst:             ListInit
        - Src:             'upnp/src/threadutil/ThreadPool.c:760,13'
          Dst:             CmpThreadPoolJob
        - Src:             'upnp/src/threadutil/ThreadPool.c:761,13'
          Dst:             ListInit
        - Src:             'upnp/src/threadutil/ThreadPool.c:761,13'
          Dst:             CmpThreadPoolJob
        - Src:             'upnp/src/threadutil/ThreadPool.c:773,14'
          Dst:             CreateWorker
        - Src:             'upnp/src/threadutil/ThreadPool.c:780,2'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/threadutil/ThreadPool.c:784,3'
          Dst:             ThreadPoolShutdown
    - functionName:    pthread_cond_init
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TimerThreadShutdown
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/TimerThread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 362
      functionLinenumberEnd: 409
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          147
      EdgeCount:       30
      CyclomaticComplexity: 8
      functionsReached:
        - FreeListDestroy
        - FreeTimerEvent
        - ListDelNode
        - ListDestroy
        - ListHead
        - ListNext
        - __assert_fail
        - pthread_cond_broadcast
        - pthread_cond_destroy
        - pthread_cond_wait
        - pthread_mutex_destroy
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/TimerThread.c:366,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/TimerThread.c:372,2'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/threadutil/TimerThread.c:375,13'
          Dst:             ListHead
        - Src:             'upnp/src/threadutil/TimerThread.c:381,15'
          Dst:             ListNext
        - Src:             'upnp/src/threadutil/TimerThread.c:382,3'
          Dst:             ListDelNode
        - Src:             'upnp/src/threadutil/TimerThread.c:386,3'
          Dst:             FreeTimerEvent
        - Src:             'upnp/src/threadutil/TimerThread.c:390,2'
          Dst:             ListDestroy
        - Src:             'upnp/src/threadutil/TimerThread.c:391,2'
          Dst:             FreeListDestroy
        - Src:             'upnp/src/threadutil/TimerThread.c:393,2'
          Dst:             pthread_cond_broadcast
        - Src:             'upnp/src/threadutil/TimerThread.c:397,3'
          Dst:             pthread_cond_wait
        - Src:             'upnp/src/threadutil/TimerThread.c:399,2'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/threadutil/TimerThread.c:402,9'
          Dst:             pthread_cond_destroy
        - Src:             'upnp/src/threadutil/TimerThread.c:405,9'
          Dst:             pthread_mutex_destroy
    - functionName:    FreeTimerEvent
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/TimerThread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - FreeListFree
        - __assert_fail
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/TimerThread.c:56,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/TimerThread.c:58,2'
          Dst:             FreeListFree
    - functionName:    TimerThreadRemove
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/TimerThread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 328
      functionLinenumberEnd: 359
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          106
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - FreeTimerEvent
        - ListDelNode
        - ListHead
        - ListNext
        - __assert_fail
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/TimerThread.c:333,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/TimerThread.c:339,2'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/threadutil/TimerThread.c:341,13'
          Dst:             ListHead
        - Src:             'upnp/src/threadutil/TimerThread.c:347,4'
          Dst:             ListDelNode
        - Src:             'upnp/src/threadutil/TimerThread.c:350,4'
          Dst:             FreeTimerEvent
        - Src:             'upnp/src/threadutil/TimerThread.c:354,14'
          Dst:             ListNext
        - Src:             'upnp/src/threadutil/TimerThread.c:357,2'
          Dst:             pthread_mutex_unlock
    - functionName:    CreateTimerEvent
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/TimerThread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 186
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          78
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - FreeListAlloc
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/TimerThread.c:189,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/TimerThread.c:190,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/TimerThread.c:192,23'
          Dst:             FreeListAlloc
    - functionName:    CalculateEventTime
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/TimerThread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - __assert_fail
        - time
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/threadutil/TimerThread.c:158,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/threadutil/TimerThread.c:156,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/TimerThread.c:162,3'
          Dst:             time
    - functionName:    TimerThreadSchedule
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/TimerThread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 265
      functionLinenumberEnd: 325
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - size_t
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          215
      EdgeCount:       48
      CyclomaticComplexity: 12
      functionsReached:
        - CalculateEventTime
        - CreateTimerEvent
        - FreeTimerEvent
        - ListAddBefore
        - ListAddTail
        - ListHead
        - ListNext
        - __assert_fail
        - pthread_cond_signal
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/TimerThread.c:274,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/TimerThread.c:275,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/TimerThread.c:281,2'
          Dst:             CalculateEventTime
        - Src:             'upnp/src/threadutil/TimerThread.c:282,2'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/threadutil/TimerThread.c:289,13'
          Dst:             CreateTimerEvent
        - Src:             'upnp/src/threadutil/TimerThread.c:293,3'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/threadutil/TimerThread.c:297,13'
          Dst:             ListHead
        - Src:             'upnp/src/threadutil/TimerThread.c:303,8'
          Dst:             ListAddBefore
        - Src:             'upnp/src/threadutil/TimerThread.c:308,14'
          Dst:             ListNext
        - Src:             'upnp/src/threadutil/TimerThread.c:312,7'
          Dst:             ListAddTail
        - Src:             'upnp/src/threadutil/TimerThread.c:317,3'
          Dst:             pthread_cond_signal
        - Src:             'upnp/src/threadutil/TimerThread.c:319,3'
          Dst:             FreeTimerEvent
        - Src:             'upnp/src/threadutil/TimerThread.c:322,2'
          Dst:             pthread_mutex_unlock
    - functionName:    TimerThreadWorker
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/TimerThread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         42
      ICount:          257
      EdgeCount:       55
      CyclomaticComplexity: 15
      functionsReached:
        - FreeTimerEvent
        - ListDelNode
        - ListHead
        - ThreadPoolAdd
        - ThreadPoolAddPersistent
        - __assert_fail
        - pthread_cond_signal
        - pthread_cond_timedwait
        - pthread_cond_wait
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - time
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/TimerThread.c:78,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/TimerThread.c:80,2'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/threadutil/TimerThread.c:86,4'
          Dst:             pthread_cond_signal
        - Src:             'upnp/src/threadutil/TimerThread.c:87,4'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/threadutil/TimerThread.c:93,11'
          Dst:             ListHead
        - Src:             'upnp/src/threadutil/TimerThread.c:95,5'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/threadutil/TimerThread.c:101,17'
          Dst:             time
        - Src:             'upnp/src/threadutil/TimerThread.c:105,9'
          Dst:             ThreadPoolAddPersistent
        - Src:             'upnp/src/threadutil/TimerThread.c:116,9'
          Dst:             ThreadPoolAdd
        - Src:             'upnp/src/threadutil/TimerThread.c:127,4'
          Dst:             ListDelNode
        - Src:             'upnp/src/threadutil/TimerThread.c:128,4'
          Dst:             FreeTimerEvent
        - Src:             'upnp/src/threadutil/TimerThread.c:134,4'
          Dst:             pthread_cond_timedwait
        - Src:             'upnp/src/threadutil/TimerThread.c:137,4'
          Dst:             pthread_cond_wait
    - functionName:    TimerThreadInit
      functionSourceFile: '/src/pupnp/upnp/src/threadutil/TimerThread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         36
      ICount:          193
      EdgeCount:       40
      CyclomaticComplexity: 6
      functionsReached:
        - FreeListDestroy
        - FreeListInit
        - ListDestroy
        - ListInit
        - TPJobInit
        - TPJobSetPriority
        - ThreadPoolAddPersistent
        - TimerThreadWorker
        - __assert_fail
        - pthread_cond_destroy
        - pthread_cond_init
        - pthread_mutex_destroy
        - pthread_mutex_init
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/threadutil/TimerThread.c:210,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/TimerThread.c:211,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/TimerThread.c:217,8'
          Dst:             pthread_mutex_init
        - Src:             'upnp/src/threadutil/TimerThread.c:219,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/TimerThread.c:221,8'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/threadutil/TimerThread.c:222,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/TimerThread.c:224,8'
          Dst:             pthread_cond_init
        - Src:             'upnp/src/threadutil/TimerThread.c:225,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/TimerThread.c:227,8'
          Dst:             FreeListInit
        - Src:             'upnp/src/threadutil/TimerThread.c:228,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/TimerThread.c:233,8'
          Dst:             ListInit
        - Src:             'upnp/src/threadutil/TimerThread.c:235,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/threadutil/TimerThread.c:241,3'
          Dst:             TPJobInit
        - Src:             'upnp/src/threadutil/TimerThread.c:241,3'
          Dst:             TimerThreadWorker
        - Src:             'upnp/src/threadutil/TimerThread.c:242,3'
          Dst:             TPJobSetPriority
        - Src:             'upnp/src/threadutil/TimerThread.c:244,8'
          Dst:             ThreadPoolAddPersistent
        - Src:             'upnp/src/threadutil/TimerThread.c:247,2'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/threadutil/TimerThread.c:250,3'
          Dst:             pthread_cond_destroy
        - Src:             'upnp/src/threadutil/TimerThread.c:251,3'
          Dst:             pthread_mutex_destroy
        - Src:             'upnp/src/threadutil/TimerThread.c:252,3'
          Dst:             FreeListDestroy
        - Src:             'upnp/src/threadutil/TimerThread.c:253,3'
          Dst:             ListDestroy
    - functionName:    calc_descURL
      functionSourceFile: '/src/pupnp/upnp/src/urlconfig/urlconfig.c'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 218
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          91
      EdgeCount:       21
      CyclomaticComplexity: 5
      functionsReached:
        - UpnpPrintf
        - __assert_fail
        - snprintf
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/urlconfig/urlconfig.c:195,2'
          Dst:             strlen
        - Src:             'upnp/src/urlconfig/urlconfig.c:195,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/urlconfig/urlconfig.c:196,2'
          Dst:             strlen
        - Src:             'upnp/src/urlconfig/urlconfig.c:196,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/urlconfig/urlconfig.c:198,8'
          Dst:             strlen
        - Src:             'upnp/src/urlconfig/urlconfig.c:198,30'
          Dst:             strlen
        - Src:             'upnp/src/urlconfig/urlconfig.c:198,50'
          Dst:             strlen
        - Src:             'upnp/src/urlconfig/urlconfig.c:209,2'
          Dst:             snprintf
        - Src:             'upnp/src/urlconfig/urlconfig.c:214,2'
          Dst:             UpnpPrintf
    - functionName:    calc_alias
      functionSourceFile: '/src/pupnp/upnp/src/urlconfig/urlconfig.c'
      linkageType:     InternalLinkage
      functionLinenumber: 133
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          130
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - snprintf
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/urlconfig/urlconfig.c:140,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/urlconfig/urlconfig.c:141,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/urlconfig/urlconfig.c:144,13'
          Dst:             strlen
        - Src:             'upnp/src/urlconfig/urlconfig.c:155,14'
          Dst:             strlen
        - Src:             'upnp/src/urlconfig/urlconfig.c:155,33'
          Dst:             strlen
        - Src:             'upnp/src/urlconfig/urlconfig.c:160,2'
          Dst:             snprintf
    - functionName:    config_description_doc
      functionSourceFile: '/src/pupnp/upnp/src/urlconfig/urlconfig.c'
      linkageType:     InternalLinkage
      functionLinenumber: 247
      functionLinenumberEnd: 361
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         74
      ICount:          393
      EdgeCount:       102
      CyclomaticComplexity: 30
      functionsReached:
        - __assert_fail
        - ixmlDocument_createElement
        - ixmlDocument_createTextNode
        - ixmlDocument_getElementsByTagName
        - ixmlElement_free
        - ixmlNodeList_free
        - ixmlNodeList_item
        - ixmlNode_appendChild
        - ixmlNode_getFirstChild
        - ixmlNode_getNodeValue
        - ixmlNode_setNodeValue
        - membuffer_append
        - membuffer_append_str
        - membuffer_assign
        - membuffer_destroy
        - membuffer_detach
        - membuffer_init
        - parse_uri
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/urlconfig/urlconfig.c:261,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/urlconfig/urlconfig.c:262,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/urlconfig/urlconfig.c:264,13'
          Dst:             ixmlDocument_getElementsByTagName
        - Src:             'upnp/src/urlconfig/urlconfig.c:267,13'
          Dst:             ixmlDocument_createElement
        - Src:             'upnp/src/urlconfig/urlconfig.c:271,7'
          Dst:             membuffer_append_str
        - Src:             'upnp/src/urlconfig/urlconfig.c:272,4'
          Dst:             membuffer_append_str
        - Src:             'upnp/src/urlconfig/urlconfig.c:273,4'
          Dst:             membuffer_append_str
        - Src:             'upnp/src/urlconfig/urlconfig.c:274,4'
          Dst:             membuffer_append_str
        - Src:             'upnp/src/urlconfig/urlconfig.c:277,14'
          Dst:             ixmlNode_getFirstChild
        - Src:             'upnp/src/urlconfig/urlconfig.c:282,14'
          Dst:             ixmlNode_appendChild
        - Src:             'upnp/src/urlconfig/urlconfig.c:288,4'
          Dst:             ixmlDocument_createTextNode
        - Src:             'upnp/src/urlconfig/urlconfig.c:292,14'
          Dst:             ixmlNode_appendChild
        - Src:             'upnp/src/urlconfig/urlconfig.c:299,18'
          Dst:             ixmlNodeList_item
        - Src:             'upnp/src/urlconfig/urlconfig.c:300,3'
          Dst:             __assert_fail
        - Src:             'upnp/src/urlconfig/urlconfig.c:301,14'
          Dst:             ixmlNode_getFirstChild
        - Src:             'upnp/src/urlconfig/urlconfig.c:306,12'
          Dst:             ixmlNode_getNodeValue
        - Src:             'upnp/src/urlconfig/urlconfig.c:311,27'
          Dst:             strlen
        - Src:             'upnp/src/urlconfig/urlconfig.c:311,9'
          Dst:             parse_uri
        - Src:             'upnp/src/urlconfig/urlconfig.c:316,7'
          Dst:             membuffer_assign
        - Src:             'upnp/src/urlconfig/urlconfig.c:318,4'
          Dst:             membuffer_append_str
        - Src:             'upnp/src/urlconfig/urlconfig.c:319,4'
          Dst:             membuffer_append_str
        - Src:             'upnp/src/urlconfig/urlconfig.c:325,8'
          Dst:             membuffer_append_str
        - Src:             'upnp/src/urlconfig/urlconfig.c:326,5'
          Dst:             membuffer_append_str
        - Src:             'upnp/src/urlconfig/urlconfig.c:330,7'
          Dst:             membuffer_append
        - Src:             'upnp/src/urlconfig/urlconfig.c:333,4'
          Dst:             membuffer_append
        - Src:             'upnp/src/urlconfig/urlconfig.c:340,8'
          Dst:             membuffer_append
        - Src:             'upnp/src/urlconfig/urlconfig.c:344,14'
          Dst:             ixmlNode_setNodeValue
        - Src:             'upnp/src/urlconfig/urlconfig.c:350,19'
          Dst:             membuffer_detach
        - Src:             'upnp/src/urlconfig/urlconfig.c:355,3'
          Dst:             ixmlElement_free
        - Src:             'upnp/src/urlconfig/urlconfig.c:357,2'
          Dst:             ixmlNodeList_free
        - Src:             'upnp/src/urlconfig/urlconfig.c:358,2'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/urlconfig/urlconfig.c:359,2'
          Dst:             membuffer_destroy
    - functionName:    addrToString
      functionSourceFile: '/src/pupnp/upnp/src/urlconfig/urlconfig.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          108
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - inet_ntop
        - ntohs
        - snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/urlconfig/urlconfig.c:92,3'
          Dst:             inet_ntop
        - Src:             'upnp/src/urlconfig/urlconfig.c:97,9'
          Dst:             ntohs
        - Src:             'upnp/src/urlconfig/urlconfig.c:93,8'
          Dst:             snprintf
        - Src:             'upnp/src/urlconfig/urlconfig.c:100,3'
          Dst:             inet_ntop
        - Src:             'upnp/src/urlconfig/urlconfig.c:106,9'
          Dst:             ntohs
        - Src:             'upnp/src/urlconfig/urlconfig.c:102,8'
          Dst:             snprintf
    - functionName:    configure_urlbase
      functionSourceFile: '/src/pupnp/upnp/src/urlconfig/urlconfig.c'
      linkageType:     InternalLinkage
      functionLinenumber: 395
      functionLinenumberEnd: 443
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          122
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - UpnpPrintf
        - addrToString
        - calc_alias
        - calc_descURL
        - config_description_doc
        - ixmlFreeDOMString
        - ixmlPrintDocument
        - strlen
        - web_server_set_alias
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/urlconfig/urlconfig.c:403,13'
          Dst:             addrToString
        - Src:             'upnp/src/urlconfig/urlconfig.c:409,13'
          Dst:             config_description_doc
        - Src:             'upnp/src/urlconfig/urlconfig.c:414,13'
          Dst:             calc_alias
        - Src:             'upnp/src/urlconfig/urlconfig.c:419,13'
          Dst:             calc_descURL
        - Src:             'upnp/src/urlconfig/urlconfig.c:424,12'
          Dst:             ixmlPrintDocument
        - Src:             'upnp/src/urlconfig/urlconfig.c:429,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/urlconfig/urlconfig.c:431,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/urlconfig/urlconfig.c:434,23'
          Dst:             strlen
        - Src:             'upnp/src/urlconfig/urlconfig.c:433,13'
          Dst:             web_server_set_alias
        - Src:             'upnp/src/urlconfig/urlconfig.c:441,3'
          Dst:             ixmlFreeDOMString
    - functionName:    genaCallback
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_callback2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          96
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - UpnpPrintf
        - error_respond
        - gena_process_notification_event
        - gena_process_subscription_renewal_request
        - gena_process_subscription_request
        - gena_process_unsubscribe_request
        - httpmsg_find_hdr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_callback2.c:95,7'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/gena/gena_callback2.c:97,4'
          Dst:             gena_process_subscription_renewal_request
        - Src:             'upnp/src/gena/gena_callback2.c:101,4'
          Dst:             gena_process_subscription_request
        - Src:             'upnp/src/gena/gena_callback2.c:103,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_callback2.c:111,3'
          Dst:             gena_process_unsubscribe_request
        - Src:             'upnp/src/gena/gena_callback2.c:117,3'
          Dst:             gena_process_notification_event
        - Src:             'upnp/src/gena/gena_callback2.c:123,3'
          Dst:             error_respond
    - functionName:    error_respond
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_callback2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - http_CalcResponseVersion
        - http_SendStatusResponse
      functionUses:    36
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_callback2.c:65,2'
          Dst:             http_CalcResponseVersion
        - Src:             'upnp/src/gena/gena_callback2.c:68,2'
          Dst:             http_SendStatusResponse
    - functionName:    free_subscribe_arg
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          43
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - UpnpEventSubscribe_delete
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_ctrlpt.c:89,4'
          Dst:             UpnpEventSubscribe_delete
    - functionName:    GenaAutoRenewSubscription
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          128
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - GetHandleInfo
        - HandleReadLock
        - HandleUnlock
        - UpnpEventSubscribe_get_SID
        - UpnpEventSubscribe_get_TimeOut
        - UpnpEventSubscribe_set_ErrCode
        - UpnpEventSubscribe_set_TimeOut
        - UpnpPrintf
        - free_subscribe_arg
        - genaRenewSubscription
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_ctrlpt.c:123,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_ctrlpt.c:128,13'
          Dst:             UpnpEventSubscribe_get_TimeOut
        - Src:             'upnp/src/gena/gena_ctrlpt.c:130,4'
          Dst:             UpnpEventSubscribe_get_SID
        - Src:             'upnp/src/gena/gena_ctrlpt.c:129,13'
          Dst:             genaRenewSubscription
        - Src:             'upnp/src/gena/gena_ctrlpt.c:132,3'
          Dst:             UpnpEventSubscribe_set_ErrCode
        - Src:             'upnp/src/gena/gena_ctrlpt.c:133,3'
          Dst:             UpnpEventSubscribe_set_TimeOut
        - Src:             'upnp/src/gena/gena_ctrlpt.c:142,3'
          Dst:             HandleReadLock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:143,7'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/gena/gena_ctrlpt.c:144,4'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:145,4'
          Dst:             free_subscribe_arg
        - Src:             'upnp/src/gena/gena_ctrlpt.c:148,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_ctrlpt.c:157,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:161,2'
          Dst:             free_subscribe_arg
    - functionName:    genaRenewSubscription
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 682
      functionLinenumberEnd: 774
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          171
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - GenlibClientSubscription_assign
        - GenlibClientSubscription_delete
        - GenlibClientSubscription_get_ActualSID
        - GenlibClientSubscription_get_EventURL
        - GenlibClientSubscription_get_RenewEventId
        - GenlibClientSubscription_get_SID
        - GenlibClientSubscription_new
        - GenlibClientSubscription_set_ActualSID
        - GenlibClientSubscription_set_RenewEventId
        - GetClientSubClientSID
        - GetHandleInfo
        - HandleLock
        - HandleUnlock
        - RemoveClientSubClientSID
        - ScheduleGenaAutoRenew
        - TimerThreadRemove
        - UpnpPrintf
        - UpnpString_delete
        - UpnpString_new
        - free_client_subscription
        - gena_subscribe
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_ctrlpt.c:685,39'
          Dst:             GenlibClientSubscription_new
        - Src:             'upnp/src/gena/gena_ctrlpt.c:687,26'
          Dst:             UpnpString_new
        - Src:             'upnp/src/gena/gena_ctrlpt.c:690,2'
          Dst:             HandleLock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:693,6'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/gena/gena_ctrlpt.c:694,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:700,8'
          Dst:             GetClientSubClientSID
        - Src:             'upnp/src/gena/gena_ctrlpt.c:702,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:710,7'
          Dst:             GenlibClientSubscription_get_RenewEventId
        - Src:             'upnp/src/gena/gena_ctrlpt.c:709,6'
          Dst:             TimerThreadRemove
        - Src:             'upnp/src/gena/gena_ctrlpt.c:715,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_ctrlpt.c:721,2'
          Dst:             GenlibClientSubscription_set_RenewEventId
        - Src:             'upnp/src/gena/gena_ctrlpt.c:722,2'
          Dst:             GenlibClientSubscription_assign
        - Src:             'upnp/src/gena/gena_ctrlpt.c:724,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:727,18'
          Dst:             GenlibClientSubscription_get_EventURL
        - Src:             'upnp/src/gena/gena_ctrlpt.c:729,4'
          Dst:             GenlibClientSubscription_get_ActualSID
        - Src:             'upnp/src/gena/gena_ctrlpt.c:727,3'
          Dst:             gena_subscribe
        - Src:             'upnp/src/gena/gena_ctrlpt.c:732,2'
          Dst:             HandleLock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:734,6'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/gena/gena_ctrlpt.c:735,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:744,3'
          Dst:             RemoveClientSubClientSID
        - Src:             'upnp/src/gena/gena_ctrlpt.c:745,3'
          Dst:             free_client_subscription
        - Src:             'upnp/src/gena/gena_ctrlpt.c:746,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:751,8'
          Dst:             GetClientSubClientSID
        - Src:             'upnp/src/gena/gena_ctrlpt.c:753,3'
          Dst:             free_client_subscription
        - Src:             'upnp/src/gena/gena_ctrlpt.c:754,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:760,2'
          Dst:             GenlibClientSubscription_set_ActualSID
        - Src:             'upnp/src/gena/gena_ctrlpt.c:763,16'
          Dst:             ScheduleGenaAutoRenew
        - Src:             'upnp/src/gena/gena_ctrlpt.c:766,4'
          Dst:             GenlibClientSubscription_get_SID
        - Src:             'upnp/src/gena/gena_ctrlpt.c:765,3'
          Dst:             RemoveClientSubClientSID
        - Src:             'upnp/src/gena/gena_ctrlpt.c:768,2'
          Dst:             free_client_subscription
        - Src:             'upnp/src/gena/gena_ctrlpt.c:769,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:772,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/gena/gena_ctrlpt.c:773,2'
          Dst:             GenlibClientSubscription_delete
    - functionName:    HandleReadLock
      functionSourceFile: '/src/pupnp/upnp/src/inc/upnpapi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpPrintf
        - pthread_rwlock_rdlock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/upnpapi.h:153,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/inc/upnpapi.h:154,2'
          Dst:             pthread_rwlock_rdlock
        - Src:             'upnp/src/inc/upnpapi.h:155,2'
          Dst:             UpnpPrintf
    - functionName:    HandleUnlock
      functionSourceFile: '/src/pupnp/upnp/src/inc/upnpapi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpPrintf
        - pthread_rwlock_unlock
      functionUses:    27
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/upnpapi.h:146,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/inc/upnpapi.h:147,2'
          Dst:             pthread_rwlock_unlock
        - Src:             'upnp/src/inc/upnpapi.h:148,2'
          Dst:             UpnpPrintf
    - functionName:    HandleLock
      functionSourceFile: '/src/pupnp/upnp/src/inc/upnpapi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - HandleWriteLock
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/upnpapi.h:167,2'
          Dst:             HandleWriteLock
    - functionName:    gena_subscribe
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 325
      functionLinenumberEnd: 489
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         58
      ICount:          372
      EdgeCount:       79
      CyclomaticComplexity: 23
      functionsReached:
        - UpnpString_clear
        - UpnpString_get_Length
        - UpnpString_get_String
        - UpnpString_set_StringN
        - htonl
        - http_FixStrUrl
        - http_MakeMessage
        - http_RequestAndResponse
        - httpmsg_destroy
        - httpmsg_find_hdr
        - matchstr
        - membuffer_destroy
        - membuffer_init
        - memptr_cmp_nocase
        - snprintf
        - strlen
        - strncpy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_ctrlpt.c:337,2'
          Dst:             UpnpString_clear
        - Src:             'upnp/src/gena/gena_ctrlpt.c:345,3'
          Dst:             strncpy
        - Src:             'upnp/src/gena/gena_ctrlpt.c:347,8'
          Dst:             snprintf
        - Src:             'upnp/src/gena/gena_ctrlpt.c:352,8'
          Dst:             snprintf
        - Src:             'upnp/src/gena/gena_ctrlpt.c:358,31'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/gena/gena_ctrlpt.c:359,3'
          Dst:             UpnpString_get_Length
        - Src:             'upnp/src/gena/gena_ctrlpt.c:358,16'
          Dst:             http_FixStrUrl
        - Src:             'upnp/src/gena/gena_ctrlpt.c:366,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/gena/gena_ctrlpt.c:379,4'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/gena/gena_ctrlpt.c:370,17'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/gena/gena_ctrlpt.c:398,6'
          Dst:             htonl
        - Src:             'upnp/src/gena/gena_ctrlpt.c:398,6'
          Dst:             htonl
        - Src:             'upnp/src/gena/gena_ctrlpt.c:399,6'
          Dst:             strlen
        - Src:             'upnp/src/gena/gena_ctrlpt.c:403,6'
          Dst:             htonl
        - Src:             'upnp/src/gena/gena_ctrlpt.c:403,6'
          Dst:             htonl
        - Src:             'upnp/src/gena/gena_ctrlpt.c:404,6'
          Dst:             strlen
        - Src:             'upnp/src/gena/gena_ctrlpt.c:388,18'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/gena/gena_ctrlpt.c:412,18'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/gena/gena_ctrlpt.c:436,16'
          Dst:             http_RequestAndResponse
        - Src:             'upnp/src/gena/gena_ctrlpt.c:442,2'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/gena/gena_ctrlpt.c:445,3'
          Dst:             httpmsg_destroy
        - Src:             'upnp/src/gena/gena_ctrlpt.c:450,3'
          Dst:             httpmsg_destroy
        - Src:             'upnp/src/gena/gena_ctrlpt.c:456,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/gena/gena_ctrlpt.c:458,3'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/gena/gena_ctrlpt.c:461,3'
          Dst:             httpmsg_destroy
        - Src:             'upnp/src/gena/gena_ctrlpt.c:467,14'
          Dst:             matchstr
        - Src:             'upnp/src/gena/gena_ctrlpt.c:471,13'
          Dst:             memptr_cmp_nocase
        - Src:             'upnp/src/gena/gena_ctrlpt.c:474,3'
          Dst:             httpmsg_destroy
        - Src:             'upnp/src/gena/gena_ctrlpt.c:480,2'
          Dst:             UpnpString_set_StringN
        - Src:             'upnp/src/gena/gena_ctrlpt.c:481,6'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/gena/gena_ctrlpt.c:482,3'
          Dst:             httpmsg_destroy
        - Src:             'upnp/src/gena/gena_ctrlpt.c:486,2'
          Dst:             httpmsg_destroy
    - functionName:    ScheduleGenaAutoRenew
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          111
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - GenaAutoRenewSubscription
        - GenlibClientSubscription_get_EventURL
        - GenlibClientSubscription_get_SID
        - GenlibClientSubscription_set_RenewEventId
        - TPJobInit
        - TPJobSetFreeFunction
        - TPJobSetPriority
        - TimerThreadSchedule
        - UpnpEventSubscribe_new
        - UpnpEventSubscribe_set_ErrCode
        - UpnpEventSubscribe_set_PublisherUrl
        - UpnpEventSubscribe_set_SID
        - UpnpEventSubscribe_set_TimeOut
        - free_subscribe_arg
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_ctrlpt.c:193,15'
          Dst:             UpnpEventSubscribe_new
        - Src:             'upnp/src/gena/gena_ctrlpt.c:208,2'
          Dst:             UpnpEventSubscribe_set_ErrCode
        - Src:             'upnp/src/gena/gena_ctrlpt.c:209,2'
          Dst:             UpnpEventSubscribe_set_TimeOut
        - Src:             'upnp/src/gena/gena_ctrlpt.c:211,15'
          Dst:             GenlibClientSubscription_get_SID
        - Src:             'upnp/src/gena/gena_ctrlpt.c:210,2'
          Dst:             UpnpEventSubscribe_set_SID
        - Src:             'upnp/src/gena/gena_ctrlpt.c:213,15'
          Dst:             GenlibClientSubscription_get_EventURL
        - Src:             'upnp/src/gena/gena_ctrlpt.c:212,2'
          Dst:             UpnpEventSubscribe_set_PublisherUrl
        - Src:             'upnp/src/gena/gena_ctrlpt.c:218,2'
          Dst:             TPJobInit
        - Src:             'upnp/src/gena/gena_ctrlpt.c:218,2'
          Dst:             GenaAutoRenewSubscription
        - Src:             'upnp/src/gena/gena_ctrlpt.c:219,2'
          Dst:             TPJobSetFreeFunction
        - Src:             'upnp/src/gena/gena_ctrlpt.c:219,2'
          Dst:             free_subscribe_arg
        - Src:             'upnp/src/gena/gena_ctrlpt.c:220,2'
          Dst:             TPJobSetPriority
        - Src:             'upnp/src/gena/gena_ctrlpt.c:223,16'
          Dst:             TimerThreadSchedule
        - Src:             'upnp/src/gena/gena_ctrlpt.c:230,3'
          Dst:             free_subscribe_arg
        - Src:             'upnp/src/gena/gena_ctrlpt.c:234,2'
          Dst:             GenlibClientSubscription_set_RenewEventId
    - functionName:    HandleWriteLock
      functionSourceFile: '/src/pupnp/upnp/src/inc/upnpapi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpPrintf
        - pthread_rwlock_wrlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/upnpapi.h:160,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/inc/upnpapi.h:161,2'
          Dst:             pthread_rwlock_wrlock
        - Src:             'upnp/src/inc/upnpapi.h:162,2'
          Dst:             UpnpPrintf
    - functionName:    gena_process_notification_event
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 778
      functionLinenumberEnd: 926
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         46
      ICount:          292
      EdgeCount:       63
      CyclomaticComplexity: 19
      functionsReached:
        - GenlibClientSubscription_get_SID
        - GetClientHandleInfo
        - GetClientSubActualSID
        - GetHandleInfo
        - HandleLock
        - HandleUnlock
        - UpnpEvent_delete
        - UpnpEvent_new
        - UpnpEvent_set_ChangedVariables
        - UpnpEvent_set_EventKey
        - UpnpEvent_set_SID
        - UpnpPrintf
        - error_respond
        - has_xml_content_type
        - httpmsg_find_hdr
        - ixmlDocument_free
        - ixmlParseBufferEx
        - matchstr
        - memptr_cmp
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_ctrlpt.c:779,28'
          Dst:             UpnpEvent_new
        - Src:             'upnp/src/gena/gena_ctrlpt.c:796,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/gena/gena_ctrlpt.c:797,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_ctrlpt.c:804,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/gena/gena_ctrlpt.c:805,3'
          Dst:             matchstr
        - Src:             'upnp/src/gena/gena_ctrlpt.c:807,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_ctrlpt.c:812,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/gena/gena_ctrlpt.c:813,3'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/gena/gena_ctrlpt.c:814,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_ctrlpt.c:819,6'
          Dst:             memptr_cmp
        - Src:             'upnp/src/gena/gena_ctrlpt.c:820,3'
          Dst:             memptr_cmp
        - Src:             'upnp/src/gena/gena_ctrlpt.c:821,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_ctrlpt.c:826,7'
          Dst:             has_xml_content_type
        - Src:             'upnp/src/gena/gena_ctrlpt.c:827,3'
          Dst:             ixmlParseBufferEx
        - Src:             'upnp/src/gena/gena_ctrlpt.c:829,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_ctrlpt.c:833,2'
          Dst:             HandleLock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:836,6'
          Dst:             GetClientHandleInfo
        - Src:             'upnp/src/gena/gena_ctrlpt.c:838,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_ctrlpt.c:839,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:843,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:847,3'
          Dst:             HandleLock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:850,7'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/gena/gena_ctrlpt.c:851,4'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:857,4'
          Dst:             GetClientSubActualSID
        - Src:             'upnp/src/gena/gena_ctrlpt.c:867,5'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:872,5'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_ctrlpt.c:872,5'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:872,5'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_ctrlpt.c:875,5'
          Dst:             HandleLock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:877,9'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/gena/gena_ctrlpt.c:879,6'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_ctrlpt.c:879,6'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:879,6'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_ctrlpt.c:880,6'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:884,20'
          Dst:             GetClientSubActualSID
        - Src:             'upnp/src/gena/gena_ctrlpt.c:887,6'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_ctrlpt.c:887,6'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:887,6'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_ctrlpt.c:888,6'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:892,5'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_ctrlpt.c:892,5'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:892,5'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_ctrlpt.c:894,5'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:903,3'
          Dst:             UpnpEvent_set_EventKey
        - Src:             'upnp/src/gena/gena_ctrlpt.c:904,3'
          Dst:             UpnpEvent_set_ChangedVariables
        - Src:             'upnp/src/gena/gena_ctrlpt.c:906,4'
          Dst:             GenlibClientSubscription_get_SID
        - Src:             'upnp/src/gena/gena_ctrlpt.c:905,3'
          Dst:             UpnpEvent_set_SID
        - Src:             'upnp/src/gena/gena_ctrlpt.c:912,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:921,2'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_ctrlpt.c:924,2'
          Dst:             ixmlDocument_free
        - Src:             'upnp/src/gena/gena_ctrlpt.c:925,2'
          Dst:             UpnpEvent_delete
    - functionName:    genaSubscribe
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 589
      functionLinenumberEnd: 676
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          180
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - GenlibClientSubscription_delete
        - GenlibClientSubscription_new
        - GenlibClientSubscription_set_ActualSID
        - GenlibClientSubscription_set_EventURL
        - GenlibClientSubscription_set_Next
        - GenlibClientSubscription_set_RenewEventId
        - GenlibClientSubscription_set_SID
        - GetHandleInfo
        - HandleLock
        - HandleReadLock
        - HandleUnlock
        - ScheduleGenaAutoRenew
        - UpnpPrintf
        - UpnpString_assign
        - UpnpString_clear
        - UpnpString_delete
        - UpnpString_new
        - UpnpString_set_String
        - gena_subscribe
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - snprintf
        - upnp_uuid_unpack
        - uuid_create
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_ctrlpt.c:592,3'
          Dst:             GenlibClientSubscription_new
        - Src:             'upnp/src/gena/gena_ctrlpt.c:596,26'
          Dst:             UpnpString_new
        - Src:             'upnp/src/gena/gena_ctrlpt.c:597,25'
          Dst:             UpnpString_new
        - Src:             'upnp/src/gena/gena_ctrlpt.c:604,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_ctrlpt.c:607,2'
          Dst:             UpnpString_clear
        - Src:             'upnp/src/gena/gena_ctrlpt.c:609,2'
          Dst:             HandleReadLock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:611,6'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/gena/gena_ctrlpt.c:613,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_ctrlpt.c:613,3'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:613,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_ctrlpt.c:616,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:619,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_ctrlpt.c:619,2'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:619,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_ctrlpt.c:620,16'
          Dst:             gena_subscribe
        - Src:             'upnp/src/gena/gena_ctrlpt.c:621,2'
          Dst:             HandleLock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:623,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_ctrlpt.c:633,6'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/gena/gena_ctrlpt.c:639,2'
          Dst:             uuid_create
        - Src:             'upnp/src/gena/gena_ctrlpt.c:640,2'
          Dst:             upnp_uuid_unpack
        - Src:             'upnp/src/gena/gena_ctrlpt.c:641,7'
          Dst:             snprintf
        - Src:             'upnp/src/gena/gena_ctrlpt.c:646,2'
          Dst:             UpnpString_set_String
        - Src:             'upnp/src/gena/gena_ctrlpt.c:649,2'
          Dst:             UpnpString_assign
        - Src:             'upnp/src/gena/gena_ctrlpt.c:656,2'
          Dst:             GenlibClientSubscription_set_RenewEventId
        - Src:             'upnp/src/gena/gena_ctrlpt.c:657,2'
          Dst:             GenlibClientSubscription_set_SID
        - Src:             'upnp/src/gena/gena_ctrlpt.c:658,2'
          Dst:             GenlibClientSubscription_set_ActualSID
        - Src:             'upnp/src/gena/gena_ctrlpt.c:659,2'
          Dst:             GenlibClientSubscription_set_EventURL
        - Src:             'upnp/src/gena/gena_ctrlpt.c:660,2'
          Dst:             GenlibClientSubscription_set_Next
        - Src:             'upnp/src/gena/gena_ctrlpt.c:666,3'
          Dst:             ScheduleGenaAutoRenew
        - Src:             'upnp/src/gena/gena_ctrlpt.c:669,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/gena/gena_ctrlpt.c:670,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/gena/gena_ctrlpt.c:672,3'
          Dst:             GenlibClientSubscription_delete
        - Src:             'upnp/src/gena/gena_ctrlpt.c:673,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:674,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_ctrlpt.c:674,2'
          Dst:             pthread_mutex_unlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:674,2'
          Dst:             UpnpPrintf
    - functionName:    genaUnSubscribe
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 537
      functionLinenumberEnd: 580
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          101
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - GenlibClientSubscription_assign
        - GenlibClientSubscription_delete
        - GenlibClientSubscription_get_ActualSID
        - GenlibClientSubscription_get_EventURL
        - GenlibClientSubscription_new
        - GetClientSubClientSID
        - GetHandleInfo
        - HandleLock
        - HandleUnlock
        - RemoveClientSubClientSID
        - free_client_subscription
        - gena_unsubscribe
        - httpmsg_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_ctrlpt.c:541,39'
          Dst:             GenlibClientSubscription_new
        - Src:             'upnp/src/gena/gena_ctrlpt.c:545,2'
          Dst:             HandleLock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:546,6'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/gena/gena_ctrlpt.c:547,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:551,8'
          Dst:             GetClientSubClientSID
        - Src:             'upnp/src/gena/gena_ctrlpt.c:553,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:557,2'
          Dst:             GenlibClientSubscription_assign
        - Src:             'upnp/src/gena/gena_ctrlpt.c:558,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:561,3'
          Dst:             GenlibClientSubscription_get_EventURL
        - Src:             'upnp/src/gena/gena_ctrlpt.c:562,3'
          Dst:             GenlibClientSubscription_get_ActualSID
        - Src:             'upnp/src/gena/gena_ctrlpt.c:560,16'
          Dst:             gena_unsubscribe
        - Src:             'upnp/src/gena/gena_ctrlpt.c:565,3'
          Dst:             httpmsg_destroy
        - Src:             'upnp/src/gena/gena_ctrlpt.c:567,2'
          Dst:             free_client_subscription
        - Src:             'upnp/src/gena/gena_ctrlpt.c:569,2'
          Dst:             HandleLock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:570,6'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/gena/gena_ctrlpt.c:571,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:575,2'
          Dst:             RemoveClientSubClientSID
        - Src:             'upnp/src/gena/gena_ctrlpt.c:576,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:579,2'
          Dst:             GenlibClientSubscription_delete
    - functionName:    gena_unsubscribe
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 256
      functionLinenumberEnd: 308
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          109
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - UpnpString_get_Length
        - UpnpString_get_String
        - http_FixStrUrl
        - http_MakeMessage
        - http_RequestAndResponse
        - httpmsg_destroy
        - membuffer_destroy
        - membuffer_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_ctrlpt.c:262,31'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/gena/gena_ctrlpt.c:263,3'
          Dst:             UpnpString_get_Length
        - Src:             'upnp/src/gena/gena_ctrlpt.c:262,16'
          Dst:             http_FixStrUrl
        - Src:             'upnp/src/gena/gena_ctrlpt.c:270,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/gena/gena_ctrlpt.c:281,3'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/gena/gena_ctrlpt.c:272,16'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/gena/gena_ctrlpt.c:285,3'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/gena/gena_ctrlpt.c:291,16'
          Dst:             http_RequestAndResponse
        - Src:             'upnp/src/gena/gena_ctrlpt.c:297,2'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/gena/gena_ctrlpt.c:299,3'
          Dst:             httpmsg_destroy
        - Src:             'upnp/src/gena/gena_ctrlpt.c:304,3'
          Dst:             httpmsg_destroy
    - functionName:    genaUnregisterClient
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 492
      functionLinenumberEnd: 532
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          87
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - GenlibClientSubscription_assign
        - GenlibClientSubscription_delete
        - GenlibClientSubscription_get_ActualSID
        - GenlibClientSubscription_get_EventURL
        - GenlibClientSubscription_get_SID
        - GenlibClientSubscription_new
        - GetHandleInfo
        - HandleLock
        - HandleUnlock
        - RemoveClientSubClientSID
        - freeClientSubList
        - free_client_subscription
        - gena_unsubscribe
        - httpmsg_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_ctrlpt.c:493,39'
          Dst:             GenlibClientSubscription_new
        - Src:             'upnp/src/gena/gena_ctrlpt.c:499,3'
          Dst:             HandleLock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:501,7'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/gena/gena_ctrlpt.c:502,4'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:510,3'
          Dst:             GenlibClientSubscription_assign
        - Src:             'upnp/src/gena/gena_ctrlpt.c:513,4'
          Dst:             GenlibClientSubscription_get_SID
        - Src:             'upnp/src/gena/gena_ctrlpt.c:512,3'
          Dst:             RemoveClientSubClientSID
        - Src:             'upnp/src/gena/gena_ctrlpt.c:515,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:518,4'
          Dst:             GenlibClientSubscription_get_EventURL
        - Src:             'upnp/src/gena/gena_ctrlpt.c:519,4'
          Dst:             GenlibClientSubscription_get_ActualSID
        - Src:             'upnp/src/gena/gena_ctrlpt.c:517,17'
          Dst:             gena_unsubscribe
        - Src:             'upnp/src/gena/gena_ctrlpt.c:522,4'
          Dst:             httpmsg_destroy
        - Src:             'upnp/src/gena/gena_ctrlpt.c:524,3'
          Dst:             free_client_subscription
        - Src:             'upnp/src/gena/gena_ctrlpt.c:527,2'
          Dst:             freeClientSubList
        - Src:             'upnp/src/gena/gena_ctrlpt.c:528,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_ctrlpt.c:531,2'
          Dst:             GenlibClientSubscription_delete
    - functionName:    maybeDiscardEvents
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 794
      functionLinenumberEnd: 823
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          103
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - ListDelNode
        - ListHead
        - ListSize
        - fprintf
        - free_notify_struct
        - time
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_device.c:795,15'
          Dst:             time
        - Src:             'upnp/src/gena/gena_device.c:799,9'
          Dst:             ListSize
        - Src:             'upnp/src/gena/gena_device.c:800,20'
          Dst:             ListHead
        - Src:             'upnp/src/gena/gena_device.c:804,4'
          Dst:             fprintf
        - Src:             'upnp/src/gena/gena_device.c:812,7'
          Dst:             ListSize
        - Src:             'upnp/src/gena/gena_device.c:814,4'
          Dst:             free_notify_struct
        - Src:             'upnp/src/gena/gena_device.c:816,4'
          Dst:             ListDelNode
    - functionName:    free_notify_struct
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          59
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ixmlFreeDOMString
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_device.c:178,3'
          Dst:             ixmlFreeDOMString
    - functionName:    notify_send_and_recv
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 202
      functionLinenumberEnd: 274
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          134
      EdgeCount:       19
      CyclomaticComplexity: 7
      functionsReached:
        - UpnpPrintf
        - http_Connect
        - http_MakeMessage
        - http_RecvMessage
        - http_SendMessage
        - httpmsg_destroy
        - membuffer_destroy
        - membuffer_init
        - sock_destroy
        - sock_init
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_device.c:213,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_device.c:221,12'
          Dst:             http_Connect
        - Src:             'upnp/src/gena/gena_device.c:225,13'
          Dst:             sock_init
        - Src:             'upnp/src/gena/gena_device.c:227,3'
          Dst:             sock_destroy
        - Src:             'upnp/src/gena/gena_device.c:231,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/gena/gena_device.c:232,6'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/gena/gena_device.c:240,3'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/gena/gena_device.c:241,3'
          Dst:             sock_destroy
        - Src:             'upnp/src/gena/gena_device.c:252,3'
          Dst:             strlen
        - Src:             'upnp/src/gena/gena_device.c:254,3'
          Dst:             strlen
        - Src:             'upnp/src/gena/gena_device.c:246,13'
          Dst:             http_SendMessage
        - Src:             'upnp/src/gena/gena_device.c:256,3'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/gena/gena_device.c:257,3'
          Dst:             sock_destroy
        - Src:             'upnp/src/gena/gena_device.c:261,13'
          Dst:             http_RecvMessage
        - Src:             'upnp/src/gena/gena_device.c:264,3'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/gena/gena_device.c:265,3'
          Dst:             sock_destroy
        - Src:             'upnp/src/gena/gena_device.c:266,3'
          Dst:             httpmsg_destroy
        - Src:             'upnp/src/gena/gena_device.c:270,2'
          Dst:             sock_destroy
        - Src:             'upnp/src/gena/gena_device.c:271,2'
          Dst:             membuffer_destroy
    - functionName:    genaNotify
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 296
      functionLinenumberEnd: 343
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          127
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - http_MakeMessage
        - httpmsg_destroy
        - membuffer_destroy
        - membuffer_init
        - notify_send_and_recv
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_device.c:303,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/gena/gena_device.c:304,6'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/gena/gena_device.c:315,3'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/gena/gena_device.c:321,17'
          Dst:             notify_send_and_recv
        - Src:             'upnp/src/gena/gena_device.c:326,2'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/gena/gena_device.c:339,3'
          Dst:             httpmsg_destroy
    - functionName:    genaNotifyThread
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 437
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         39
      ICount:          258
      EdgeCount:       52
      CyclomaticComplexity: 15
      functionsReached:
        - FindServiceId
        - GetHandleInfo
        - GetSubscriptionSID
        - HandleLock
        - HandleUnlock
        - ListDelNode
        - ListHead
        - ListSize
        - RemoveSubscriptionSID
        - ThreadPoolAdd
        - __assert_fail
        - copy_subscription
        - freeSubscription
        - free_notify_struct
        - genaNotify
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_device.c:370,2'
          Dst:             HandleLock
        - Src:             'upnp/src/gena/gena_device.c:373,6'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/gena/gena_device.c:374,3'
          Dst:             free_notify_struct
        - Src:             'upnp/src/gena/gena_device.c:375,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:379,18'
          Dst:             FindServiceId
        - Src:             'upnp/src/gena/gena_device.c:382,11'
          Dst:             GetSubscriptionSID
        - Src:             'upnp/src/gena/gena_device.c:383,3'
          Dst:             copy_subscription
        - Src:             'upnp/src/gena/gena_device.c:384,3'
          Dst:             free_notify_struct
        - Src:             'upnp/src/gena/gena_device.c:385,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:389,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:392,16'
          Dst:             genaNotify
        - Src:             'upnp/src/gena/gena_device.c:393,2'
          Dst:             freeSubscription
        - Src:             'upnp/src/gena/gena_device.c:394,2'
          Dst:             HandleLock
        - Src:             'upnp/src/gena/gena_device.c:395,6'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/gena/gena_device.c:396,3'
          Dst:             free_notify_struct
        - Src:             'upnp/src/gena/gena_device.c:397,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:401,18'
          Dst:             FindServiceId
        - Src:             'upnp/src/gena/gena_device.c:404,11'
          Dst:             GetSubscriptionSID
        - Src:             'upnp/src/gena/gena_device.c:405,3'
          Dst:             free_notify_struct
        - Src:             'upnp/src/gena/gena_device.c:406,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:416,20'
          Dst:             ListHead
        - Src:             'upnp/src/gena/gena_device.c:418,4'
          Dst:             ListDelNode
        - Src:             'upnp/src/gena/gena_device.c:419,7'
          Dst:             ListSize
        - Src:             'upnp/src/gena/gena_device.c:421,21'
          Dst:             ListHead
        - Src:             'upnp/src/gena/gena_device.c:425,4'
          Dst:             __assert_fail
        - Src:             'upnp/src/gena/gena_device.c:427,4'
          Dst:             ThreadPoolAdd
        - Src:             'upnp/src/gena/gena_device.c:433,3'
          Dst:             RemoveSubscriptionSID
        - Src:             'upnp/src/gena/gena_device.c:434,2'
          Dst:             free_notify_struct
        - Src:             'upnp/src/gena/gena_device.c:436,2'
          Dst:             HandleUnlock
    - functionName:    HandleLock
      functionSourceFile: '/src/pupnp/upnp/src/inc/upnpapi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - HandleWriteLock
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/upnpapi.h:167,2'
          Dst:             HandleWriteLock
    - functionName:    HandleUnlock
      functionSourceFile: '/src/pupnp/upnp/src/inc/upnpapi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpPrintf
        - pthread_rwlock_unlock
      functionUses:    28
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/upnpapi.h:146,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/inc/upnpapi.h:147,2'
          Dst:             pthread_rwlock_unlock
        - Src:             'upnp/src/inc/upnpapi.h:148,2'
          Dst:             UpnpPrintf
    - functionName:    HandleWriteLock
      functionSourceFile: '/src/pupnp/upnp/src/inc/upnpapi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpPrintf
        - pthread_rwlock_wrlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/upnpapi.h:160,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/inc/upnpapi.h:161,2'
          Dst:             pthread_rwlock_wrlock
        - Src:             'upnp/src/inc/upnpapi.h:162,2'
          Dst:             UpnpPrintf
    - functionName:    AllocGenaHeaders
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 450
      functionLinenumberEnd: 488
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          98
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - UpnpPrintf
        - snprintf
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_device.c:462,17'
          Dst:             strlen
        - Src:             'upnp/src/gena/gena_device.c:462,41'
          Dst:             strlen
        - Src:             'upnp/src/gena/gena_device.c:463,31'
          Dst:             strlen
        - Src:             'upnp/src/gena/gena_device.c:464,10'
          Dst:             strlen
        - Src:             'upnp/src/gena/gena_device.c:464,34'
          Dst:             strlen
        - Src:             'upnp/src/gena/gena_device.c:475,3'
          Dst:             strlen
        - Src:             'upnp/src/gena/gena_device.c:470,7'
          Dst:             snprintf
        - Src:             'upnp/src/gena/gena_device.c:482,3'
          Dst:             UpnpPrintf
    - functionName:    gena_process_unsubscribe_request
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1718
      functionLinenumberEnd: 1777
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          158
      EdgeCount:       34
      CyclomaticComplexity: 11
      functionsReached:
        - GetDeviceHandleInfoForPath
        - GetSubscriptionSID
        - HandleLock
        - HandleUnlock
        - RemoveSubscriptionSID
        - error_respond
        - httpmsg_find_hdr
        - membuffer_append
        - membuffer_destroy
        - membuffer_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_device.c:1728,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/gena/gena_device.c:1729,3'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/gena/gena_device.c:1730,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1734,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/gena/gena_device.c:1736,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1743,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/gena/gena_device.c:1744,6'
          Dst:             membuffer_append
        - Src:             'upnp/src/gena/gena_device.c:1747,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1751,2'
          Dst:             HandleLock
        - Src:             'upnp/src/gena/gena_device.c:1753,6'
          Dst:             GetDeviceHandleInfoForPath
        - Src:             'upnp/src/gena/gena_device.c:1758,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1759,3'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/gena/gena_device.c:1760,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:1763,2'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/gena/gena_device.c:1767,3'
          Dst:             GetSubscriptionSID
        - Src:             'upnp/src/gena/gena_device.c:1768,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1769,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:1773,2'
          Dst:             RemoveSubscriptionSID
        - Src:             'upnp/src/gena/gena_device.c:1774,2'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1776,2'
          Dst:             HandleUnlock
    - functionName:    gena_process_subscription_renewal_request
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1603
      functionLinenumberEnd: 1715
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         54
      ICount:          315
      EdgeCount:       73
      CyclomaticComplexity: 21
      functionsReached:
        - GetDeviceHandleInfoForPath
        - GetSubscriptionSID
        - HandleLock
        - HandleUnlock
        - RemoveSubscriptionSID
        - UpnpPrintf
        - error_respond
        - httpmsg_find_hdr
        - matchstr
        - membuffer_append
        - membuffer_destroy
        - membuffer_init
        - memptr_cmp_nocase
        - respond_ok
        - time
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_device.c:1615,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/gena/gena_device.c:1616,3'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/gena/gena_device.c:1617,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1621,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/gena/gena_device.c:1623,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1630,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/gena/gena_device.c:1631,6'
          Dst:             membuffer_append
        - Src:             'upnp/src/gena/gena_device.c:1634,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1638,2'
          Dst:             HandleLock
        - Src:             'upnp/src/gena/gena_device.c:1640,6'
          Dst:             GetDeviceHandleInfoForPath
        - Src:             'upnp/src/gena/gena_device.c:1645,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1646,3'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/gena/gena_device.c:1647,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:1650,2'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/gena/gena_device.c:1654,11'
          Dst:             GetSubscriptionSID
        - Src:             'upnp/src/gena/gena_device.c:1655,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1656,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:1660,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_device.c:1671,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1672,3'
          Dst:             RemoveSubscriptionSID
        - Src:             'upnp/src/gena/gena_device.c:1673,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:1677,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/gena/gena_device.c:1678,7'
          Dst:             matchstr
        - Src:             'upnp/src/gena/gena_device.c:1685,14'
          Dst:             memptr_cmp_nocase
        - Src:             'upnp/src/gena/gena_device.c:1707,21'
          Dst:             time
        - Src:             'upnp/src/gena/gena_device.c:1710,6'
          Dst:             respond_ok
        - Src:             'upnp/src/gena/gena_device.c:1711,3'
          Dst:             RemoveSubscriptionSID
        - Src:             'upnp/src/gena/gena_device.c:1714,2'
          Dst:             HandleUnlock
    - functionName:    respond_ok
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1083
      functionLinenumberEnd: 1140
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          115
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - error_respond
        - http_CalcResponseVersion
        - http_MakeMessage
        - http_SendMessage
        - membuffer_destroy
        - membuffer_init
        - snprintf
        - strncpy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_device.c:1092,2'
          Dst:             http_CalcResponseVersion
        - Src:             'upnp/src/gena/gena_device.c:1096,8'
          Dst:             snprintf
        - Src:             'upnp/src/gena/gena_device.c:1102,3'
          Dst:             strncpy
        - Src:             'upnp/src/gena/gena_device.c:1107,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1111,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/gena/gena_device.c:1113,6'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/gena/gena_device.c:1129,3'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/gena/gena_device.c:1130,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1134,16'
          Dst:             http_SendMessage
        - Src:             'upnp/src/gena/gena_device.c:1137,2'
          Dst:             membuffer_destroy
    - functionName:    create_url_list
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1159
      functionLinenumberEnd: 1239
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         49
      ICount:          361
      EdgeCount:       65
      CyclomaticComplexity: 18
      functionsReached:
        - parse_uri
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_device.c:1177,24'
          Dst:             parse_uri
        - Src:             'upnp/src/gena/gena_device.c:1204,25'
          Dst:             parse_uri
    - functionName:    gena_process_subscription_request
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1384
      functionLinenumberEnd: 1599
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         66
      ICount:          496
      EdgeCount:       92
      CyclomaticComplexity: 28
      functionsReached:
        - GetDeviceHandleInfoForPath
        - HandleLock
        - HandleUnlock
        - ListInit
        - UpnpPrintf
        - UpnpSubscriptionRequest_delete
        - UpnpSubscriptionRequest_new
        - UpnpSubscriptionRequest_strcpy_SID
        - UpnpSubscriptionRequest_strcpy_ServiceId
        - UpnpSubscriptionRequest_strcpy_UDN
        - create_url_list
        - error_respond
        - freeSubscriptionList
        - gena_validate_delivery_urls
        - httpmsg_find_hdr
        - matchstr
        - memptr_cmp_nocase
        - respond_ok
        - snprintf
        - str_alloc
        - time
        - upnp_uuid_unpack
        - uuid_create
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_device.c:1385,44'
          Dst:             UpnpSubscriptionRequest_new
        - Src:             'upnp/src/gena/gena_device.c:1402,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_device.c:1408,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/gena/gena_device.c:1409,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1416,6'
          Dst:             memptr_cmp_nocase
        - Src:             'upnp/src/gena/gena_device.c:1417,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1423,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/gena/gena_device.c:1424,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1428,19'
          Dst:             str_alloc
        - Src:             'upnp/src/gena/gena_device.c:1431,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1435,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_device.c:1442,2'
          Dst:             HandleLock
        - Src:             'upnp/src/gena/gena_device.c:1444,6'
          Dst:             GetDeviceHandleInfoForPath
        - Src:             'upnp/src/gena/gena_device.c:1450,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1451,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:1457,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1458,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:1462,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_device.c:1474,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1475,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:1481,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1482,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:1491,6'
          Dst:             ListInit
        - Src:             'upnp/src/gena/gena_device.c:1492,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1493,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:1498,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/gena/gena_device.c:1499,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1500,3'
          Dst:             freeSubscriptionList
        - Src:             'upnp/src/gena/gena_device.c:1501,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:1508,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1509,3'
          Dst:             freeSubscriptionList
        - Src:             'upnp/src/gena/gena_device.c:1510,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:1513,16'
          Dst:             create_url_list
        - Src:             'upnp/src/gena/gena_device.c:1515,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1516,3'
          Dst:             freeSubscriptionList
        - Src:             'upnp/src/gena/gena_device.c:1517,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:1521,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1522,3'
          Dst:             freeSubscriptionList
        - Src:             'upnp/src/gena/gena_device.c:1523,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:1526,16'
          Dst:             gena_validate_delivery_urls
        - Src:             'upnp/src/gena/gena_device.c:1528,3'
          Dst:             error_respond
        - Src:             'upnp/src/gena/gena_device.c:1529,3'
          Dst:             freeSubscriptionList
        - Src:             'upnp/src/gena/gena_device.c:1530,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:1534,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/gena/gena_device.c:1535,7'
          Dst:             matchstr
        - Src:             'upnp/src/gena/gena_device.c:1540,14'
          Dst:             memptr_cmp_nocase
        - Src:             'upnp/src/gena/gena_device.c:1557,21'
          Dst:             time
        - Src:             'upnp/src/gena/gena_device.c:1564,2'
          Dst:             uuid_create
        - Src:             'upnp/src/gena/gena_device.c:1565,2'
          Dst:             upnp_uuid_unpack
        - Src:             'upnp/src/gena/gena_device.c:1566,7'
          Dst:             snprintf
        - Src:             'upnp/src/gena/gena_device.c:1570,4'
          Dst:             respond_ok
        - Src:             'upnp/src/gena/gena_device.c:1571,3'
          Dst:             freeSubscriptionList
        - Src:             'upnp/src/gena/gena_device.c:1572,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:1581,2'
          Dst:             UpnpSubscriptionRequest_strcpy_ServiceId
        - Src:             'upnp/src/gena/gena_device.c:1583,2'
          Dst:             UpnpSubscriptionRequest_strcpy_UDN
        - Src:             'upnp/src/gena/gena_device.c:1584,2'
          Dst:             UpnpSubscriptionRequest_strcpy_SID
        - Src:             'upnp/src/gena/gena_device.c:1590,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:1598,2'
          Dst:             UpnpSubscriptionRequest_delete
    - functionName:    gena_validate_delivery_urls
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1276
      functionLinenumberEnd: 1381
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         41
      ICount:          288
      EdgeCount:       53
      CyclomaticComplexity: 14
      functionsReached:
        - UpnpPrintf
        - htonl
        - inet_ntop
        - inet_pton
        - is_rfc1918_addr
        - memcmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/gena/gena_device.c:1292,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/gena/gena_device.c:1294,8'
          Dst:             inet_pton
        - Src:             'upnp/src/gena/gena_device.c:1298,8'
          Dst:             inet_pton
        - Src:             'upnp/src/gena/gena_device.c:1309,8'
          Dst:             is_rfc1918_addr
        - Src:             'upnp/src/gena/gena_device.c:1310,5'
          Dst:             is_rfc1918_addr
        - Src:             'upnp/src/gena/gena_device.c:1316,5'
          Dst:             inet_ntop
        - Src:             'upnp/src/gena/gena_device.c:1320,5'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_device.c:1335,8'
          Dst:             inet_pton
        - Src:             'upnp/src/gena/gena_device.c:1339,8'
          Dst:             inet_pton
        - Src:             'upnp/src/gena/gena_device.c:1347,8'
          Dst:             htonl
        - Src:             'upnp/src/gena/gena_device.c:1347,8'
          Dst:             htonl
        - Src:             'upnp/src/gena/gena_device.c:1355,8'
          Dst:             memcmp
        - Src:             'upnp/src/gena/gena_device.c:1358,5'
          Dst:             inet_ntop
        - Src:             'upnp/src/gena/gena_device.c:1370,6'
          Dst:             htonl
        - Src:             'upnp/src/gena/gena_device.c:1370,6'
          Dst:             htonl
        - Src:             'upnp/src/gena/gena_device.c:1362,5'
          Dst:             UpnpPrintf
    - functionName:    is_rfc1918_addr
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1245
      functionLinenumberEnd: 1257
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          56
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - ntohl
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_device.c:1246,15'
          Dst:             ntohl
    - functionName:    ntohl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    genaNotifyAll
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1034
      functionLinenumberEnd: 1066
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          60
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - GeneratePropertySet
        - UpnpPrintf
        - genaNotifyAllCommon
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_device.c:1040,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_device.c:1043,8'
          Dst:             GeneratePropertySet
        - Src:             'upnp/src/gena/gena_device.c:1048,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_device.c:1055,8'
          Dst:             genaNotifyAllCommon
        - Src:             'upnp/src/gena/gena_device.c:1059,2'
          Dst:             UpnpPrintf
    - functionName:    GeneratePropertySet
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          136
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - ixmlCloneDOMString
        - sprintf
        - strcat
        - strcpy
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_device.c:137,15'
          Dst:             strlen
        - Src:             'upnp/src/gena/gena_device.c:137,40'
          Dst:             strlen
        - Src:             'upnp/src/gena/gena_device.c:149,2'
          Dst:             strcpy
        - Src:             'upnp/src/gena/gena_device.c:151,3'
          Dst:             strcat
        - Src:             'upnp/src/gena/gena_device.c:152,19'
          Dst:             strlen
        - Src:             'upnp/src/gena/gena_device.c:152,3'
          Dst:             sprintf
        - Src:             'upnp/src/gena/gena_device.c:158,2'
          Dst:             strcat
        - Src:             'upnp/src/gena/gena_device.c:159,9'
          Dst:             ixmlCloneDOMString
    - functionName:    genaNotifyAllCommon
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 830
      functionLinenumberEnd: 982
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          306
      EdgeCount:       57
      CyclomaticComplexity: 17
      functionsReached:
        - AllocGenaHeaders
        - FindServiceId
        - GetFirstSubscription
        - GetHandleInfo
        - GetNextSubscription
        - HandleLock
        - HandleUnlock
        - ListAddTail
        - ListSize
        - TPJobInit
        - TPJobSetFreeFunction
        - TPJobSetPriority
        - ThreadPoolAdd
        - UpnpPrintf
        - free_notify_struct
        - genaNotifyThread
        - ixmlFreeDOMString
        - maybeDiscardEvents
        - strdup
        - strncpy
        - time
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_device.c:844,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_device.c:859,13'
          Dst:             strdup
        - Src:             'upnp/src/gena/gena_device.c:866,16'
          Dst:             strdup
        - Src:             'upnp/src/gena/gena_device.c:873,12'
          Dst:             AllocGenaHeaders
        - Src:             'upnp/src/gena/gena_device.c:880,2'
          Dst:             HandleLock
        - Src:             'upnp/src/gena/gena_device.c:882,6'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/gena/gena_device.c:887,4'
          Dst:             FindServiceId
        - Src:             'upnp/src/gena/gena_device.c:889,13'
          Dst:             GetFirstSubscription
        - Src:             'upnp/src/gena/gena_device.c:908,5'
          Dst:             strncpy
        - Src:             'upnp/src/gena/gena_device.c:912,23'
          Dst:             time
        - Src:             'upnp/src/gena/gena_device.c:915,5'
          Dst:             maybeDiscardEvents
        - Src:             'upnp/src/gena/gena_device.c:925,5'
          Dst:             TPJobInit
        - Src:             'upnp/src/gena/gena_device.c:925,5'
          Dst:             genaNotifyThread
        - Src:             'upnp/src/gena/gena_device.c:928,5'
          Dst:             TPJobSetFreeFunction
        - Src:             'upnp/src/gena/gena_device.c:928,5'
          Dst:             free_notify_struct
        - Src:             'upnp/src/gena/gena_device.c:930,5'
          Dst:             TPJobSetPriority
        - Src:             'upnp/src/gena/gena_device.c:931,12'
          Dst:             ListAddTail
        - Src:             'upnp/src/gena/gena_device.c:936,9'
          Dst:             ListSize
        - Src:             'upnp/src/gena/gena_device.c:937,12'
          Dst:             ThreadPoolAdd
        - Src:             'upnp/src/gena/gena_device.c:952,14'
          Dst:             GetNextSubscription
        - Src:             'upnp/src/gena/gena_device.c:967,3'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/gena/gena_device.c:973,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:975,2'
          Dst:             UpnpPrintf
    - functionName:    strcpy
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strcat
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    genaNotifyAllExt
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 989
      functionLinenumberEnd: 1025
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          54
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpPrintf
        - genaNotifyAllCommon
        - ixmlPrintNode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_device.c:995,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_device.c:1001,16'
          Dst:             ixmlPrintNode
        - Src:             'upnp/src/gena/gena_device.c:1007,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_device.c:1014,8'
          Dst:             genaNotifyAllCommon
        - Src:             'upnp/src/gena/gena_device.c:1018,2'
          Dst:             UpnpPrintf
    - functionName:    genaInitNotifyExt
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 739
      functionLinenumberEnd: 782
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          66
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - UpnpPrintf
        - genaInitNotifyCommon
        - ixmlPrintNode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_device.c:745,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_device.c:757,16'
          Dst:             ixmlPrintNode
        - Src:             'upnp/src/gena/gena_device.c:763,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_device.c:770,8'
          Dst:             genaInitNotifyCommon
        - Src:             'upnp/src/gena/gena_device.c:775,2'
          Dst:             UpnpPrintf
    - functionName:    genaInitNotifyCommon
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 521
      functionLinenumberEnd: 680
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          303
      EdgeCount:       52
      CyclomaticComplexity: 16
      functionsReached:
        - AllocGenaHeaders
        - FindServiceId
        - GetHandleInfo
        - GetSubscriptionSID
        - HandleLock
        - HandleUnlock
        - ListAddTail
        - TPJobInit
        - TPJobSetFreeFunction
        - TPJobSetPriority
        - ThreadPoolAdd
        - UpnpPrintf
        - free_notify_struct
        - genaNotifyThread
        - ixmlFreeDOMString
        - strdup
        - strncpy
        - time
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_device.c:536,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_device.c:558,13'
          Dst:             strdup
        - Src:             'upnp/src/gena/gena_device.c:565,16'
          Dst:             strdup
        - Src:             'upnp/src/gena/gena_device.c:572,2'
          Dst:             HandleLock
        - Src:             'upnp/src/gena/gena_device.c:574,6'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/gena/gena_device.c:580,12'
          Dst:             FindServiceId
        - Src:             'upnp/src/gena/gena_device.c:586,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_device.c:594,8'
          Dst:             GetSubscriptionSID
        - Src:             'upnp/src/gena/gena_device.c:600,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_device.c:608,12'
          Dst:             AllocGenaHeaders
        - Src:             'upnp/src/gena/gena_device.c:629,3'
          Dst:             strncpy
        - Src:             'upnp/src/gena/gena_device.c:632,26'
          Dst:             time
        - Src:             'upnp/src/gena/gena_device.c:636,3'
          Dst:             TPJobInit
        - Src:             'upnp/src/gena/gena_device.c:636,3'
          Dst:             genaNotifyThread
        - Src:             'upnp/src/gena/gena_device.c:637,3'
          Dst:             TPJobSetFreeFunction
        - Src:             'upnp/src/gena/gena_device.c:637,3'
          Dst:             free_notify_struct
        - Src:             'upnp/src/gena/gena_device.c:638,3'
          Dst:             TPJobSetPriority
        - Src:             'upnp/src/gena/gena_device.c:640,9'
          Dst:             ThreadPoolAdd
        - Src:             'upnp/src/gena/gena_device.c:647,21'
          Dst:             ListAddTail
        - Src:             'upnp/src/gena/gena_device.c:665,3'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/gena/gena_device.c:671,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/gena/gena_device.c:673,2'
          Dst:             UpnpPrintf
    - functionName:    genaInitNotify
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 690
      functionLinenumberEnd: 731
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          73
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - GeneratePropertySet
        - UpnpPrintf
        - genaInitNotifyCommon
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_device.c:695,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_device.c:707,8'
          Dst:             GeneratePropertySet
        - Src:             'upnp/src/gena/gena_device.c:712,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_device.c:719,8'
          Dst:             genaInitNotifyCommon
        - Src:             'upnp/src/gena/gena_device.c:724,2'
          Dst:             UpnpPrintf
    - functionName:    freeSubscriptionQueuedEvents
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 492
      functionLinenumberEnd: 513
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          73
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - ListDelNode
        - ListHead
        - ListSize
        - free_notify_struct
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_device.c:493,6'
          Dst:             ListSize
        - Src:             'upnp/src/gena/gena_device.c:499,20'
          Dst:             ListHead
        - Src:             'upnp/src/gena/gena_device.c:505,5'
          Dst:             free_notify_struct
        - Src:             'upnp/src/gena/gena_device.c:509,4'
          Dst:             ListDelNode
        - Src:             'upnp/src/gena/gena_device.c:510,11'
          Dst:             ListHead
    - functionName:    genaUnregisterDevice
      functionSourceFile: '/src/pupnp/upnp/src/gena/gena_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 107
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - GetHandleInfo
        - HandleLock
        - HandleUnlock
        - UpnpPrintf
        - freeServiceTable
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/gena/gena_device.c:92,2'
          Dst:             HandleLock
        - Src:             'upnp/src/gena/gena_device.c:93,6'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/gena/gena_device.c:94,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/gena/gena_device.c:102,3'
          Dst:             freeServiceTable
        - Src:             'upnp/src/gena/gena_device.c:105,2'
          Dst:             HandleUnlock
    - functionName:    dom_cmp_name
      functionSourceFile: '/src/pupnp/upnp/src/soap/soap_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          95
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - ixmlNode_getNodeName
        - matchstr
        - strcmp
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/soap/soap_ctrlpt.c:78,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/soap/soap_ctrlpt.c:79,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/soap/soap_ctrlpt.c:81,14'
          Dst:             ixmlNode_getNodeName
        - Src:             'upnp/src/soap/soap_ctrlpt.c:84,6'
          Dst:             strcmp
        - Src:             'upnp/src/soap/soap_ctrlpt.c:87,5'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_ctrlpt.c:86,11'
          Dst:             matchstr
        - Src:             'upnp/src/soap/soap_ctrlpt.c:91,4'
          Dst:             strcmp
    - functionName:    dom_find_node
      functionSourceFile: '/src/pupnp/upnp/src/soap/soap_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          68
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - dom_cmp_name
        - ixmlNode_getFirstChild
        - ixmlNode_getNextSibling
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/soap/soap_ctrlpt.c:119,9'
          Dst:             ixmlNode_getFirstChild
        - Src:             'upnp/src/soap/soap_ctrlpt.c:122,7'
          Dst:             dom_cmp_name
        - Src:             'upnp/src/soap/soap_ctrlpt.c:127,10'
          Dst:             ixmlNode_getNextSibling
    - functionName:    get_node_value
      functionSourceFile: '/src/pupnp/upnp/src/soap/soap_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 191
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ixmlNode_getFirstChild
        - ixmlNode_getNodeValue
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/soap/soap_ctrlpt.c:195,14'
          Dst:             ixmlNode_getFirstChild
        - Src:             'upnp/src/soap/soap_ctrlpt.c:200,15'
          Dst:             ixmlNode_getNodeValue
    - functionName:    dom_find_deep_node
      functionSourceFile: '/src/pupnp/upnp/src/soap/soap_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          115
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - dom_cmp_name
        - dom_find_node
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/soap/soap_ctrlpt.c:152,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/soap/soap_ctrlpt.c:155,6'
          Dst:             dom_cmp_name
        - Src:             'upnp/src/soap/soap_ctrlpt.c:162,7'
          Dst:             dom_find_node
    - functionName:    add_man_header
      functionSourceFile: '/src/pupnp/upnp/src/soap/soap_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 269
      functionLinenumberEnd: 288
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          70
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - membuffer_insert
        - strlen
        - strstr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/soap/soap_ctrlpt.c:277,6'
          Dst:             membuffer_insert
        - Src:             'upnp/src/soap/soap_ctrlpt.c:279,20'
          Dst:             strstr
        - Src:             'upnp/src/soap/soap_ctrlpt.c:281,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/soap/soap_ctrlpt.c:284,41'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_ctrlpt.c:284,6'
          Dst:             membuffer_insert
    - functionName:    get_host_and_path
      functionSourceFile: '/src/pupnp/upnp/src/soap/soap_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 223
      functionLinenumberEnd: 235
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          69
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - parse_uri
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/soap/soap_ctrlpt.c:224,26'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_ctrlpt.c:224,6'
          Dst:             parse_uri
    - functionName:    SoapGetServiceVarStatus
      functionSourceFile: '/src/pupnp/upnp/src/soap/soap_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 876
      functionLinenumberEnd: 955
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          121
      EdgeCount:       19
      CyclomaticComplexity: 7
      functionsReached:
        - get_host_and_path
        - get_response_value
        - http_MakeMessage
        - httpmsg_destroy
        - membuffer_destroy
        - membuffer_init
        - soap_request_and_response
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/soap/soap_ctrlpt.c:900,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/soap/soap_ctrlpt.c:902,6'
          Dst:             get_host_and_path
        - Src:             'upnp/src/soap/soap_ctrlpt.c:908,11'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_ctrlpt.c:908,31'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_ctrlpt.c:908,50'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_ctrlpt.c:909,6'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/soap/soap_ctrlpt.c:935,13'
          Dst:             soap_request_and_response
        - Src:             'upnp/src/soap/soap_ctrlpt.c:936,2'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/soap/soap_ctrlpt.c:941,13'
          Dst:             get_response_value
        - Src:             'upnp/src/soap/soap_ctrlpt.c:947,2'
          Dst:             httpmsg_destroy
    - functionName:    soap_request_and_response
      functionSourceFile: '/src/pupnp/upnp/src/soap/soap_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 307
      functionLinenumberEnd: 342
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          99
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - add_man_header
        - http_RequestAndResponse
        - httpmsg_destroy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/soap/soap_ctrlpt.c:310,13'
          Dst:             http_RequestAndResponse
        - Src:             'upnp/src/soap/soap_ctrlpt.c:317,3'
          Dst:             httpmsg_destroy
        - Src:             'upnp/src/soap/soap_ctrlpt.c:322,14'
          Dst:             add_man_header
        - Src:             'upnp/src/soap/soap_ctrlpt.c:327,3'
          Dst:             httpmsg_destroy
        - Src:             'upnp/src/soap/soap_ctrlpt.c:330,14'
          Dst:             http_RequestAndResponse
        - Src:             'upnp/src/soap/soap_ctrlpt.c:337,4'
          Dst:             httpmsg_destroy
    - functionName:    get_response_value
      functionSourceFile: '/src/pupnp/upnp/src/soap/soap_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 372
      functionLinenumberEnd: 496
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         67
      ICount:          369
      EdgeCount:       91
      CyclomaticComplexity: 26
      functionsReached:
        - __assert_fail
        - atoi
        - dom_find_deep_node
        - dom_find_node
        - get_node_value
        - has_xml_content_type
        - ixmlCloneDOMString
        - ixmlDocument_free
        - ixmlFreeDOMString
        - ixmlNode_getFirstChild
        - ixmlParseBufferEx
        - ixmlPrintNode
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/soap/soap_ctrlpt.c:388,4'
          Dst:             has_xml_content_type
        - Src:             'upnp/src/soap/soap_ctrlpt.c:390,6'
          Dst:             ixmlParseBufferEx
        - Src:             'upnp/src/soap/soap_ctrlpt.c:392,14'
          Dst:             ixmlNode_getFirstChild
        - Src:             'upnp/src/soap/soap_ctrlpt.c:397,3'
          Dst:             __assert_fail
        - Src:             'upnp/src/soap/soap_ctrlpt.c:403,7'
          Dst:             dom_find_deep_node
        - Src:             'upnp/src/soap/soap_ctrlpt.c:405,15'
          Dst:             ixmlPrintNode
        - Src:             'upnp/src/soap/soap_ctrlpt.c:410,8'
          Dst:             ixmlParseBufferEx
        - Src:             'upnp/src/soap/soap_ctrlpt.c:421,3'
          Dst:             __assert_fail
        - Src:             'upnp/src/soap/soap_ctrlpt.c:428,7'
          Dst:             dom_find_deep_node
        - Src:             'upnp/src/soap/soap_ctrlpt.c:430,16'
          Dst:             get_node_value
        - Src:             'upnp/src/soap/soap_ctrlpt.c:433,17'
          Dst:             ixmlCloneDOMString
        - Src:             'upnp/src/soap/soap_ctrlpt.c:446,7'
          Dst:             dom_find_deep_node
        - Src:             'upnp/src/soap/soap_ctrlpt.c:449,7'
          Dst:             dom_find_node
        - Src:             'upnp/src/soap/soap_ctrlpt.c:452,14'
          Dst:             get_node_value
        - Src:             'upnp/src/soap/soap_ctrlpt.c:455,22'
          Dst:             atoi
        - Src:             'upnp/src/soap/soap_ctrlpt.c:461,8'
          Dst:             dom_find_node
        - Src:             'upnp/src/soap/soap_ctrlpt.c:466,16'
          Dst:             get_node_value
        - Src:             'upnp/src/soap/soap_ctrlpt.c:470,17'
          Dst:             ixmlCloneDOMString
        - Src:             'upnp/src/soap/soap_ctrlpt.c:476,21'
          Dst:             ixmlPrintNode
        - Src:             'upnp/src/soap/soap_ctrlpt.c:481,8'
          Dst:             ixmlParseBufferEx
        - Src:             'upnp/src/soap/soap_ctrlpt.c:493,2'
          Dst:             ixmlDocument_free
        - Src:             'upnp/src/soap/soap_ctrlpt.c:494,2'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/soap/soap_ctrlpt.c:495,2'
          Dst:             ixmlFreeDOMString
    - functionName:    SoapSendActionEx
      functionSourceFile: '/src/pupnp/upnp/src/soap/soap_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 686
      functionLinenumberEnd: 856
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          273
      EdgeCount:       41
      CyclomaticComplexity: 13
      functionsReached:
        - UpnpPrintf
        - get_action_name
        - get_response_value
        - http_FixStrUrl
        - http_MakeMessage
        - httpmsg_destroy
        - ixmlFreeDOMString
        - ixmlPrintNode
        - membuffer_append
        - membuffer_append_str
        - membuffer_destroy
        - membuffer_init
        - soap_request_and_response
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/soap/soap_ctrlpt.c:722,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/soap/soap_ctrlpt.c:728,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/soap/soap_ctrlpt.c:729,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/soap/soap_ctrlpt.c:732,19'
          Dst:             ixmlPrintNode
        - Src:             'upnp/src/soap/soap_ctrlpt.c:737,15'
          Dst:             ixmlPrintNode
        - Src:             'upnp/src/soap/soap_ctrlpt.c:742,6'
          Dst:             get_action_name
        - Src:             'upnp/src/soap/soap_ctrlpt.c:747,33'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_ctrlpt.c:747,6'
          Dst:             http_FixStrUrl
        - Src:             'upnp/src/soap/soap_ctrlpt.c:752,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/soap/soap_ctrlpt.c:762,18'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_ctrlpt.c:763,23'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_ctrlpt.c:764,16'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_ctrlpt.c:765,19'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_ctrlpt.c:767,25'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_ctrlpt.c:768,23'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_ctrlpt.c:769,23'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_ctrlpt.c:777,6'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/soap/soap_ctrlpt.c:819,13'
          Dst:             soap_request_and_response
        - Src:             'upnp/src/soap/soap_ctrlpt.c:826,6'
          Dst:             membuffer_append
        - Src:             'upnp/src/soap/soap_ctrlpt.c:827,3'
          Dst:             membuffer_append_str
        - Src:             'upnp/src/soap/soap_ctrlpt.c:831,13'
          Dst:             get_response_value
        - Src:             'upnp/src/soap/soap_ctrlpt.c:848,2'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/soap/soap_ctrlpt.c:849,2'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/soap/soap_ctrlpt.c:850,2'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/soap/soap_ctrlpt.c:851,2'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/soap/soap_ctrlpt.c:853,3'
          Dst:             httpmsg_destroy
    - functionName:    get_action_name
      functionSourceFile: '/src/pupnp/upnp/src/soap/soap_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 258
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - matchstr
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/soap/soap_ctrlpt.c:256,30'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_ctrlpt.c:256,13'
          Dst:             matchstr
    - functionName:    SoapSendAction
      functionSourceFile: '/src/pupnp/upnp/src/soap/soap_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 520
      functionLinenumberEnd: 657
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          219
      EdgeCount:       38
      CyclomaticComplexity: 12
      functionsReached:
        - UpnpPrintf
        - get_action_name
        - get_response_value
        - http_FixStrUrl
        - http_MakeMessage
        - httpmsg_destroy
        - ixmlFreeDOMString
        - ixmlPrintNode
        - membuffer_append
        - membuffer_append_str
        - membuffer_destroy
        - membuffer_init
        - soap_request_and_response
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/soap/soap_ctrlpt.c:550,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/soap/soap_ctrlpt.c:556,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/soap/soap_ctrlpt.c:557,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/soap/soap_ctrlpt.c:560,15'
          Dst:             ixmlPrintNode
        - Src:             'upnp/src/soap/soap_ctrlpt.c:565,6'
          Dst:             get_action_name
        - Src:             'upnp/src/soap/soap_ctrlpt.c:570,33'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_ctrlpt.c:570,6'
          Dst:             http_FixStrUrl
        - Src:             'upnp/src/soap/soap_ctrlpt.c:575,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/soap/soap_ctrlpt.c:585,18'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_ctrlpt.c:586,16'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_ctrlpt.c:587,19'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_ctrlpt.c:592,6'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/soap/soap_ctrlpt.c:622,13'
          Dst:             soap_request_and_response
        - Src:             'upnp/src/soap/soap_ctrlpt.c:629,6'
          Dst:             membuffer_append
        - Src:             'upnp/src/soap/soap_ctrlpt.c:630,3'
          Dst:             membuffer_append_str
        - Src:             'upnp/src/soap/soap_ctrlpt.c:634,13'
          Dst:             get_response_value
        - Src:             'upnp/src/soap/soap_ctrlpt.c:650,2'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/soap/soap_ctrlpt.c:651,2'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/soap/soap_ctrlpt.c:652,2'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/soap/soap_ctrlpt.c:654,3'
          Dst:             httpmsg_destroy
    - functionName:    send_action_response
      functionSourceFile: '/src/pupnp/upnp/src/soap/soap_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 254
      functionLinenumberEnd: 322
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          117
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - UpnpPrintf
        - http_CalcResponseVersion
        - http_MakeMessage
        - http_SendMessage
        - ixmlFreeDOMString
        - ixmlPrintNode
        - membuffer_destroy
        - membuffer_init
        - send_error_response
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/soap/soap_device.c:270,2'
          Dst:             http_CalcResponseVersion
        - Src:             'upnp/src/soap/soap_device.c:272,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/soap/soap_device.c:275,17'
          Dst:             ixmlPrintNode
        - Src:             'upnp/src/soap/soap_device.c:278,27'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_device.c:278,48'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_device.c:279,6'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_device.c:281,6'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/soap/soap_device.c:299,3'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_device.c:301,3'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_device.c:303,3'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_device.c:293,13'
          Dst:             http_SendMessage
        - Src:             'upnp/src/soap/soap_device.c:305,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/soap/soap_device.c:315,2'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/soap/soap_device.c:316,2'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/soap/soap_device.c:319,3'
          Dst:             send_error_response
    - functionName:    send_error_response
      functionSourceFile: '/src/pupnp/upnp/src/soap/soap_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 183
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          89
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - http_CalcResponseVersion
        - http_MakeMessage
        - http_SendMessage
        - membuffer_destroy
        - membuffer_init
        - snprintf
        - strlen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/soap/soap_device.c:152,2'
          Dst:             snprintf
        - Src:             'upnp/src/soap/soap_device.c:155,11'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_device.c:155,32'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_device.c:156,4'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_device.c:156,23'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_device.c:156,41'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_device.c:157,2'
          Dst:             http_CalcResponseVersion
        - Src:             'upnp/src/soap/soap_device.c:160,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/soap/soap_device.c:161,6'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/soap/soap_device.c:176,3'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/soap/soap_device.c:181,2'
          Dst:             http_SendMessage
        - Src:             'upnp/src/soap/soap_device.c:182,2'
          Dst:             membuffer_destroy
    - functionName:    send_var_query_response
      functionSourceFile: '/src/pupnp/upnp/src/soap/soap_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 242
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          71
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - http_CalcResponseVersion
        - http_MakeMessage
        - http_SendMessage
        - membuffer_destroy
        - membuffer_init
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/soap/soap_device.c:215,2'
          Dst:             http_CalcResponseVersion
        - Src:             'upnp/src/soap/soap_device.c:217,27'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_device.c:217,48'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_device.c:218,6'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_device.c:220,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/soap/soap_device.c:221,6'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/soap/soap_device.c:234,3'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/soap/soap_device.c:239,2'
          Dst:             http_SendMessage
        - Src:             'upnp/src/soap/soap_device.c:241,2'
          Dst:             membuffer_destroy
    - functionName:    get_mpost_acton_hdrval
      functionSourceFile: '/src/pupnp/upnp/src/soap/soap_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 547
      functionLinenumberEnd: 579
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          115
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - httpmsg_find_hdr
        - httpmsg_find_hdr_str
        - matchstr
        - membuffer_append_str
        - membuffer_assign
        - membuffer_destroy
        - membuffer_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/soap/soap_device.c:552,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/soap/soap_device.c:553,8'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/soap/soap_device.c:556,6'
          Dst:             matchstr
        - Src:             'upnp/src/soap/soap_device.c:563,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/soap/soap_device.c:564,6'
          Dst:             membuffer_assign
        - Src:             'upnp/src/soap/soap_device.c:567,3'
          Dst:             membuffer_append_str
        - Src:             'upnp/src/soap/soap_device.c:569,3'
          Dst:             membuffer_destroy
        - Src:             'upnp/src/soap/soap_device.c:572,8'
          Dst:             httpmsg_find_hdr_str
        - Src:             'upnp/src/soap/soap_device.c:573,2'
          Dst:             membuffer_destroy
    - functionName:    HandleUnlock
      functionSourceFile: '/src/pupnp/upnp/src/inc/upnpapi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpPrintf
        - pthread_rwlock_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/upnpapi.h:146,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/inc/upnpapi.h:147,2'
          Dst:             pthread_rwlock_unlock
        - Src:             'upnp/src/inc/upnpapi.h:148,2'
          Dst:             UpnpPrintf
    - functionName:    HandleReadLock
      functionSourceFile: '/src/pupnp/upnp/src/inc/upnpapi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpPrintf
        - pthread_rwlock_rdlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/upnpapi.h:153,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/inc/upnpapi.h:154,2'
          Dst:             pthread_rwlock_rdlock
        - Src:             'upnp/src/inc/upnpapi.h:155,2'
          Dst:             UpnpPrintf
    - functionName:    handle_invoke_action
      functionSourceFile: '/src/pupnp/upnp/src/soap/soap_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 403
      functionLinenumberEnd: 482
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          223
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - UpnpActionRequest_delete
        - UpnpActionRequest_get_ActionResult
        - UpnpActionRequest_get_ErrCode
        - UpnpActionRequest_get_ErrStr_cstr
        - UpnpActionRequest_new
        - UpnpActionRequest_set_ActionRequest
        - UpnpActionRequest_set_ActionResult
        - UpnpActionRequest_set_CtrlPtIPAddr
        - UpnpActionRequest_set_ErrCode
        - UpnpActionRequest_strcpy_ActionName
        - UpnpActionRequest_strcpy_DevUDN
        - UpnpActionRequest_strcpy_ServiceID
        - UpnpActionRequest_strncpy_Os
        - UpnpPrintf
        - httpmsg_find_hdr
        - ixmlDocument_free
        - ixmlFreeDOMString
        - ixmlParseBufferEx
        - ixmlPrintNode
        - send_action_response
        - send_error_response
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/soap/soap_device.c:405,30'
          Dst:             UpnpActionRequest_new
        - Src:             'upnp/src/soap/soap_device.c:419,13'
          Dst:             ixmlPrintNode
        - Src:             'upnp/src/soap/soap_device.c:425,13'
          Dst:             ixmlParseBufferEx
        - Src:             'upnp/src/soap/soap_device.c:436,2'
          Dst:             UpnpActionRequest_set_ErrCode
        - Src:             'upnp/src/soap/soap_device.c:437,2'
          Dst:             UpnpActionRequest_strcpy_ActionName
        - Src:             'upnp/src/soap/soap_device.c:438,2'
          Dst:             UpnpActionRequest_strcpy_DevUDN
        - Src:             'upnp/src/soap/soap_device.c:439,2'
          Dst:             UpnpActionRequest_strcpy_ServiceID
        - Src:             'upnp/src/soap/soap_device.c:440,2'
          Dst:             UpnpActionRequest_set_ActionRequest
        - Src:             'upnp/src/soap/soap_device.c:441,2'
          Dst:             UpnpActionRequest_set_ActionResult
        - Src:             'upnp/src/soap/soap_device.c:442,2'
          Dst:             UpnpActionRequest_set_CtrlPtIPAddr
        - Src:             'upnp/src/soap/soap_device.c:444,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/soap/soap_device.c:445,3'
          Dst:             UpnpActionRequest_strncpy_Os
        - Src:             'upnp/src/soap/soap_device.c:449,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/soap/soap_device.c:452,13'
          Dst:             UpnpActionRequest_get_ErrCode
        - Src:             'upnp/src/soap/soap_device.c:454,13'
          Dst:             UpnpActionRequest_get_ErrStr_cstr
        - Src:             'upnp/src/soap/soap_device.c:455,7'
          Dst:             strlen
        - Src:             'upnp/src/soap/soap_device.c:462,20'
          Dst:             UpnpActionRequest_get_ActionResult
        - Src:             'upnp/src/soap/soap_device.c:469,2'
          Dst:             send_action_response
        - Src:             'upnp/src/soap/soap_device.c:474,2'
          Dst:             ixmlDocument_free
        - Src:             'upnp/src/soap/soap_device.c:475,2'
          Dst:             ixmlDocument_free
        - Src:             'upnp/src/soap/soap_device.c:476,2'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/soap/soap_device.c:480,3'
          Dst:             send_error_response
        - Src:             'upnp/src/soap/soap_device.c:481,2'
          Dst:             UpnpActionRequest_delete
    - functionName:    handle_query_variable
      functionSourceFile: '/src/pupnp/upnp/src/soap/soap_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 337
      functionLinenumberEnd: 389
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          134
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - UpnpPrintf
        - UpnpStateVarRequest_delete
        - UpnpStateVarRequest_get_CurrentVal
        - UpnpStateVarRequest_get_ErrCode
        - UpnpStateVarRequest_get_ErrStr
        - UpnpStateVarRequest_get_ErrStr_cstr
        - UpnpStateVarRequest_new
        - UpnpStateVarRequest_set_CtrlPtIPAddr
        - UpnpStateVarRequest_set_ErrCode
        - UpnpStateVarRequest_strcpy_DevUDN
        - UpnpStateVarRequest_strcpy_ServiceID
        - UpnpStateVarRequest_strcpy_StateVarName
        - UpnpString_get_Length
        - ixmlNode_getNodeValue
        - send_error_response
        - send_var_query_response
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/soap/soap_device.c:338,34'
          Dst:             UpnpStateVarRequest_new
        - Src:             'upnp/src/soap/soap_device.c:353,2'
          Dst:             UpnpStateVarRequest_set_ErrCode
        - Src:             'upnp/src/soap/soap_device.c:354,2'
          Dst:             UpnpStateVarRequest_strcpy_DevUDN
        - Src:             'upnp/src/soap/soap_device.c:355,2'
          Dst:             UpnpStateVarRequest_strcpy_ServiceID
        - Src:             'upnp/src/soap/soap_device.c:356,13'
          Dst:             ixmlNode_getNodeValue
        - Src:             'upnp/src/soap/soap_device.c:357,2'
          Dst:             UpnpStateVarRequest_strcpy_StateVarName
        - Src:             'upnp/src/soap/soap_device.c:358,2'
          Dst:             UpnpStateVarRequest_set_CtrlPtIPAddr
        - Src:             'upnp/src/soap/soap_device.c:363,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/soap/soap_device.c:369,6'
          Dst:             UpnpStateVarRequest_get_CurrentVal
        - Src:             'upnp/src/soap/soap_device.c:371,6'
          Dst:             UpnpStateVarRequest_get_ErrCode
        - Src:             'upnp/src/soap/soap_device.c:373,8'
          Dst:             UpnpStateVarRequest_get_ErrStr
        - Src:             'upnp/src/soap/soap_device.c:372,7'
          Dst:             UpnpString_get_Length
        - Src:             'upnp/src/soap/soap_device.c:374,15'
          Dst:             UpnpStateVarRequest_get_ErrCode
        - Src:             'upnp/src/soap/soap_device.c:375,14'
          Dst:             UpnpStateVarRequest_get_ErrStr_cstr
        - Src:             'upnp/src/soap/soap_device.c:381,9'
          Dst:             UpnpStateVarRequest_get_CurrentVal
        - Src:             'upnp/src/soap/soap_device.c:380,2'
          Dst:             send_var_query_response
        - Src:             'upnp/src/soap/soap_device.c:386,2'
          Dst:             UpnpStateVarRequest_delete
        - Src:             'upnp/src/soap/soap_device.c:388,3'
          Dst:             send_error_response
    - functionName:    check_soap_request
      functionSourceFile: '/src/pupnp/upnp/src/soap/soap_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 677
      functionLinenumberEnd: 750
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          235
      EdgeCount:       64
      CyclomaticComplexity: 20
      functionsReached:
        - ixmlNode_getFirstChild
        - ixmlNode_getLocalName
        - ixmlNode_getNamespaceURI
        - ixmlNode_getNodeType
        - memptr_cmp
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/soap/soap_device.c:686,14'
          Dst:             ixmlNode_getFirstChild
        - Src:             'upnp/src/soap/soap_device.c:690,11'
          Dst:             ixmlNode_getNamespaceURI
        - Src:             'upnp/src/soap/soap_device.c:691,24'
          Dst:             strcmp
        - Src:             'upnp/src/soap/soap_device.c:695,14'
          Dst:             ixmlNode_getFirstChild
        - Src:             'upnp/src/soap/soap_device.c:699,15'
          Dst:             ixmlNode_getLocalName
        - Src:             'upnp/src/soap/soap_device.c:700,28'
          Dst:             strcmp
        - Src:             'upnp/src/soap/soap_device.c:704,16'
          Dst:             ixmlNode_getFirstChild
        - Src:             'upnp/src/soap/soap_device.c:709,11'
          Dst:             ixmlNode_getNamespaceURI
        - Src:             'upnp/src/soap/soap_device.c:713,15'
          Dst:             ixmlNode_getLocalName
        - Src:             'upnp/src/soap/soap_device.c:720,7'
          Dst:             strcmp
        - Src:             'upnp/src/soap/soap_device.c:721,4'
          Dst:             strcmp
        - Src:             'upnp/src/soap/soap_device.c:724,18'
          Dst:             ixmlNode_getFirstChild
        - Src:             'upnp/src/soap/soap_device.c:728,16'
          Dst:             ixmlNode_getLocalName
        - Src:             'upnp/src/soap/soap_device.c:729,7'
          Dst:             strcmp
        - Src:             'upnp/src/soap/soap_device.c:732,18'
          Dst:             ixmlNode_getFirstChild
        - Src:             'upnp/src/soap/soap_device.c:734,4'
          Dst:             ixmlNode_getNodeType
        - Src:             'upnp/src/soap/soap_device.c:740,7'
          Dst:             strcmp
        - Src:             'upnp/src/soap/soap_device.c:741,4'
          Dst:             memptr_cmp
    - functionName:    check_soapaction_hdr
      functionSourceFile: '/src/pupnp/upnp/src/soap/soap_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 592
      functionLinenumberEnd: 663
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         39
      ICount:          265
      EdgeCount:       51
      CyclomaticComplexity: 14
      functionsReached:
        - __assert_fail
        - get_mpost_acton_hdrval
        - httpmsg_find_hdr
        - matchstr
        - memptr_cmp
        - namecopy
        - strchr
        - strcmp
        - strncmp
        - strrchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/soap/soap_device.c:602,8'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/soap/soap_device.c:605,14'
          Dst:             get_mpost_acton_hdrval
        - Src:             'upnp/src/soap/soap_device.c:616,13'
          Dst:             strchr
        - Src:             'upnp/src/soap/soap_device.c:621,6'
          Dst:             matchstr
        - Src:             'upnp/src/soap/soap_device.c:634,13'
          Dst:             strrchr
        - Src:             'upnp/src/soap/soap_device.c:638,13'
          Dst:             strrchr
        - Src:             'upnp/src/soap/soap_device.c:640,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/soap/soap_device.c:643,3'
          Dst:             strncmp
        - Src:             'upnp/src/soap/soap_device.c:645,3'
          Dst:             namecopy
        - Src:             'upnp/src/soap/soap_device.c:646,13'
          Dst:             strcmp
        - Src:             'upnp/src/soap/soap_device.c:647,6'
          Dst:             memptr_cmp
    - functionName:    get_dev_service
      functionSourceFile: '/src/pupnp/upnp/src/soap/soap_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 498
      functionLinenumberEnd: 534
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          114
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - GetDeviceHandleInfoForPath
        - HandleReadLock
        - HandleUnlock
        - namecopy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/soap/soap_device.c:512,2'
          Dst:             HandleReadLock
        - Src:             'upnp/src/soap/soap_device.c:514,6'
          Dst:             GetDeviceHandleInfoForPath
        - Src:             'upnp/src/soap/soap_device.c:523,2'
          Dst:             namecopy
        - Src:             'upnp/src/soap/soap_device.c:524,2'
          Dst:             namecopy
        - Src:             'upnp/src/soap/soap_device.c:525,2'
          Dst:             namecopy
        - Src:             'upnp/src/soap/soap_device.c:533,2'
          Dst:             HandleUnlock
    - functionName:    soap_device_callback
      functionSourceFile: '/src/pupnp/upnp/src/soap/soap_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 765
      functionLinenumberEnd: 837
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          176
      EdgeCount:       37
      CyclomaticComplexity: 10
      functionsReached:
        - check_soap_request
        - check_soapaction_hdr
        - get_dev_service
        - handle_invoke_action
        - handle_query_variable
        - has_xml_content_type
        - http_SendStatusResponse
        - ixmlDocument_free
        - ixmlParseBufferEx
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/soap/soap_device.c:791,3'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/soap/soap_device.c:778,6'
          Dst:             get_dev_service
        - Src:             'upnp/src/soap/soap_device.c:784,7'
          Dst:             has_xml_content_type
        - Src:             'upnp/src/soap/soap_device.c:789,13'
          Dst:             check_soapaction_hdr
        - Src:             'upnp/src/soap/soap_device.c:805,13'
          Dst:             ixmlParseBufferEx
        - Src:             'upnp/src/soap/soap_device.c:814,6'
          Dst:             check_soap_request
        - Src:             'upnp/src/soap/soap_device.c:821,3'
          Dst:             handle_query_variable
        - Src:             'upnp/src/soap/soap_device.c:824,3'
          Dst:             handle_invoke_action
        - Src:             'upnp/src/soap/soap_device.c:829,2'
          Dst:             ixmlDocument_free
        - Src:             'upnp/src/soap/soap_device.c:832,3'
          Dst:             http_SendStatusResponse
    - functionName:    HandleWriteLock
      functionSourceFile: '/src/pupnp/upnp/src/inc/upnpapi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpPrintf
        - pthread_rwlock_wrlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/upnpapi.h:160,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/inc/upnpapi.h:161,2'
          Dst:             pthread_rwlock_wrlock
        - Src:             'upnp/src/inc/upnpapi.h:162,2'
          Dst:             UpnpPrintf
    - functionName:    searchExpired
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 532
      functionLinenumberEnd: 573
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          124
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - GetHandleInfo
        - HandleLock
        - HandleUnlock
        - ListDelNode
        - ListHead
        - ListNext
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:544,2'
          Dst:             HandleLock
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:547,6'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:549,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:553,9'
          Dst:             ListHead
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:562,4'
          Dst:             ListDelNode
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:565,10'
          Dst:             ListNext
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:567,2'
          Dst:             HandleUnlock
    - functionName:    HandleLock
      functionSourceFile: '/src/pupnp/upnp/src/inc/upnpapi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - HandleWriteLock
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/upnpapi.h:167,2'
          Dst:             HandleWriteLock
    - functionName:    HandleUnlock
      functionSourceFile: '/src/pupnp/upnp/src/inc/upnpapi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpPrintf
        - pthread_rwlock_unlock
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/upnpapi.h:146,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/inc/upnpapi.h:147,2'
          Dst:             pthread_rwlock_unlock
        - Src:             'upnp/src/inc/upnpapi.h:148,2'
          Dst:             UpnpPrintf
    - functionName:    CreateClientRequestPacketUlaGua
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 468
      functionLinenumberEnd: 523
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          204
      EdgeCount:       43
      CyclomaticComplexity: 11
      functionsReached:
        - snprintf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/ssdp/ssdp_ctrlpt.c:472,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:474,8'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:483,8'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:499,8'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:509,8'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:518,7'
          Dst:             snprintf
    - functionName:    CreateClientRequestPacket
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 396
      functionLinenumberEnd: 451
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          204
      EdgeCount:       43
      CyclomaticComplexity: 11
      functionsReached:
        - snprintf
      functionUses:    2
      BranchProfiles:
        - Branch String:   'upnp/src/ssdp/ssdp_ctrlpt.c:400,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:402,8'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:411,8'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:427,8'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:437,8'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:446,7'
          Dst:             snprintf
    - functionName:    SearchByTarget
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 576
      functionLinenumberEnd: 884
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         61
      ICount:          444
      EdgeCount:       80
      CyclomaticComplexity: 21
      functionsReached:
        - CreateClientRequestPacket
        - CreateClientRequestPacketUlaGua
        - GetHandleInfo
        - HandleLock
        - HandleUnlock
        - ListAddTail
        - TPJobInit
        - TPJobSetFreeFunction
        - TPJobSetPriority
        - TimerThreadSchedule
        - UpnpPrintf
        - __errno_location
        - __xpg_strerror_r
        - close
        - htons
        - inet_pton
        - nanosleep
        - poll
        - searchExpired
        - sendto
        - setsockopt
        - ssdp_request_type1
        - strdup
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:610,6'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:611,4'
          Dst:             inet_pton
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:617,16'
          Dst:             ssdp_request_type1
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:620,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:627,11'
          Dst:             CreateClientRequestPacket
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:632,11'
          Dst:             CreateClientRequestPacket
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:636,11'
          Dst:             CreateClientRequestPacketUlaGua
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:647,2'
          Dst:             inet_pton
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:648,24'
          Dst:             htons
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:653,2'
          Dst:             inet_pton
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:654,25'
          Dst:             htons
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:659,2'
          Dst:             HandleLock
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:660,6'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:661,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:665,25'
          Dst:             strdup
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:672,2'
          Dst:             TPJobInit
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:672,2'
          Dst:             searchExpired
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:673,2'
          Dst:             TPJobSetPriority
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:674,2'
          Dst:             TPJobSetFreeFunction
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:676,2'
          Dst:             TimerThreadSchedule
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:679,2'
          Dst:             ListAddTail
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:680,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:786,4'
          Dst:             setsockopt
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:797,4'
          Dst:             setsockopt
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:807,9'
          Dst:             poll
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:809,15'
          Dst:             __errno_location
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:809,4'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:810,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:816,4'
          Dst:             close
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:818,4'
          Dst:             close
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:827,5'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:835,6'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:833,5'
          Dst:             sendto
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:839,5'
          Dst:             nanosleep
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:841,4'
          Dst:             inet_pton
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:846,5'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:854,6'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:852,5'
          Dst:             sendto
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:858,5'
          Dst:             nanosleep
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:866,5'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:874,6'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:872,5'
          Dst:             sendto
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:878,5'
          Dst:             nanosleep
    - functionName:    send_search_result
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SSDPResultData_Callback
        - SSDPResultData_delete
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:88,2'
          Dst:             SSDPResultData_Callback
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:89,2'
          Dst:             SSDPResultData_delete
    - functionName:    HandleReadLock
      functionSourceFile: '/src/pupnp/upnp/src/inc/upnpapi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpPrintf
        - pthread_rwlock_rdlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/upnpapi.h:153,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/inc/upnpapi.h:154,2'
          Dst:             pthread_rwlock_rdlock
        - Src:             'upnp/src/inc/upnpapi.h:155,2'
          Dst:             UpnpPrintf
    - functionName:    ssdp_handle_ctrlpt_msg
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_ctrlpt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 379
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         125
      ICount:          809
      EdgeCount:       166
      CyclomaticComplexity: 43
      functionsReached:
        - GetClientHandleInfo
        - GetHandleInfo
        - HandleLock
        - HandleReadLock
        - HandleUnlock
        - ListHead
        - ListNext
        - SSDPResultData_delete
        - SSDPResultData_new
        - SSDPResultData_set_Cookie
        - SSDPResultData_set_CtrlptCallback
        - SSDPResultData_set_Param
        - TPJobInit
        - TPJobSetFreeFunction
        - TPJobSetPriority
        - ThreadPoolAdd
        - UpnpDiscovery_delete
        - UpnpDiscovery_get_Expires
        - UpnpDiscovery_get_Location
        - UpnpDiscovery_new
        - UpnpDiscovery_set_DestAddr
        - UpnpDiscovery_set_ErrCode
        - UpnpDiscovery_set_Expires
        - UpnpDiscovery_strcpy_Date
        - UpnpDiscovery_strcpy_DeviceID
        - UpnpDiscovery_strcpy_DeviceType
        - UpnpDiscovery_strcpy_ServiceType
        - UpnpDiscovery_strncpy_Ext
        - UpnpDiscovery_strncpy_Location
        - UpnpDiscovery_strncpy_Os
        - UpnpString_get_Length
        - httpmsg_find_hdr
        - matchstr
        - memptr_cmp
        - send_search_result
        - ssdp_request_type
        - strlen
        - strncmp
        - unique_service_name
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/ssdp/ssdp_ctrlpt.c:300,5'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:101,25'
          Dst:             UpnpDiscovery_new
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:120,2'
          Dst:             HandleReadLock
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:122,6'
          Dst:             GetClientHandleInfo
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:123,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:126,2'
          Dst:             HandleUnlock
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:130,4'
          Dst:             HandleLock
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:133,8'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:134,5'
          Dst:             HandleUnlock
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:140,4'
          Dst:             HandleUnlock
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:149,2'
          Dst:             UpnpDiscovery_set_ErrCode
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:152,2'
          Dst:             UpnpDiscovery_set_Expires
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:153,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:154,9'
          Dst:             matchstr
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:158,3'
          Dst:             UpnpDiscovery_set_Expires
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:163,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:164,3'
          Dst:             UpnpDiscovery_strcpy_Date
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:167,2'
          Dst:             UpnpDiscovery_set_DestAddr
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:169,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:170,3'
          Dst:             UpnpDiscovery_strncpy_Ext
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:174,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:175,3'
          Dst:             UpnpDiscovery_strncpy_Location
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:179,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:180,3'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:181,3'
          Dst:             UpnpDiscovery_strncpy_Os
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:189,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:192,15'
          Dst:             ssdp_request_type
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:196,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:199,16'
          Dst:             unique_service_name
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:203,3'
          Dst:             UpnpDiscovery_strcpy_DeviceID
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:204,3'
          Dst:             UpnpDiscovery_strcpy_DeviceType
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:205,3'
          Dst:             UpnpDiscovery_strcpy_ServiceType
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:210,7'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:214,7'
          Dst:             memptr_cmp
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:216,14'
          Dst:             memptr_cmp
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:236,6'
          Dst:             UpnpDiscovery_get_Location
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:235,5'
          Dst:             UpnpString_get_Length
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:238,5'
          Dst:             UpnpDiscovery_get_Expires
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:246,4'
          Dst:             HandleLock
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:249,8'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:250,5'
          Dst:             HandleUnlock
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:256,4'
          Dst:             HandleUnlock
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:264,7'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:268,5'
          Dst:             ssdp_request_type
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:272,4'
          Dst:             UpnpDiscovery_get_Expires
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:274,5'
          Dst:             UpnpDiscovery_get_Location
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:273,4'
          Dst:             UpnpString_get_Length
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:281,4'
          Dst:             HandleLock
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:284,8'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:285,5'
          Dst:             HandleUnlock
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:292,11'
          Dst:             ListHead
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:309,17'
          Dst:             strncmp
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:315,17'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:315,17'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:317,17'
          Dst:             strncmp
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:324,17'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:324,17'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:326,17'
          Dst:             strncmp
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:338,19'
          Dst:             SSDPResultData_new
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:340,7'
          Dst:             SSDPResultData_set_Param
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:342,7'
          Dst:             SSDPResultData_set_Cookie
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:345,7'
          Dst:             SSDPResultData_set_CtrlptCallback
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:350,7'
          Dst:             TPJobInit
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:350,7'
          Dst:             send_search_result
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:354,7'
          Dst:             TPJobSetPriority
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:356,7'
          Dst:             TPJobSetFreeFunction
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:358,11'
          Dst:             ThreadPoolAdd
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:362,8'
          Dst:             SSDPResultData_delete
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:367,12'
          Dst:             ListNext
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:371,4'
          Dst:             HandleUnlock
        - Src:             'upnp/src/ssdp/ssdp_ctrlpt.c:378,2'
          Dst:             UpnpDiscovery_delete
    - functionName:    valid_ssdp_msg
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 703
      functionLinenumberEnd: 740
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         33
      ICount:          150
      EdgeCount:       45
      CyclomaticComplexity: 14
      functionsReached:
        - UpnpPrintf
        - httpmsg_find_hdr
        - memptr_cmp
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_server.c:715,4'
          Dst:             strncmp
        - Src:             'upnp/src/ssdp/ssdp_server.c:721,7'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/ssdp/ssdp_server.c:722,5'
          Dst:             memptr_cmp
        - Src:             'upnp/src/ssdp/ssdp_server.c:723,5'
          Dst:             memptr_cmp
        - Src:             'upnp/src/ssdp/ssdp_server.c:724,5'
          Dst:             memptr_cmp
        - Src:             'upnp/src/ssdp/ssdp_server.c:725,5'
          Dst:             memptr_cmp
        - Src:             'upnp/src/ssdp/ssdp_server.c:726,5'
          Dst:             memptr_cmp
        - Src:             'upnp/src/ssdp/ssdp_server.c:728,4'
          Dst:             UpnpPrintf
    - functionName:    start_event_handler
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 752
      functionLinenumberEnd: 792
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          92
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - UpnpPrintf
        - free_ssdp_event_handler_data
        - parser_parse
        - valid_ssdp_msg
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_server.c:758,11'
          Dst:             parser_parse
        - Src:             'upnp/src/ssdp/ssdp_server.c:762,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:773,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:783,6'
          Dst:             valid_ssdp_msg
        - Src:             'upnp/src/ssdp/ssdp_server.c:790,2'
          Dst:             free_ssdp_event_handler_data
    - functionName:    free_ssdp_event_handler_data
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 683
      functionLinenumberEnd: 692
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - httpmsg_destroy
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_server.c:689,3'
          Dst:             httpmsg_destroy
    - functionName:    create_ssdp_sock_v6_ula_gua
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1308
      functionLinenumberEnd: 1448
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          185
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - UpnpPrintf
        - __errno_location
        - __xpg_strerror_r
        - bind
        - close
        - htons
        - inet_pton
        - setsockopt
        - socket
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_server.c:1316,14'
          Dst:             socket
        - Src:             'upnp/src/ssdp/ssdp_server.c:1318,14'
          Dst:             __errno_location
        - Src:             'upnp/src/ssdp/ssdp_server.c:1318,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/ssdp/ssdp_server.c:1319,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:1329,8'
          Dst:             setsockopt
        - Src:             'upnp/src/ssdp/ssdp_server.c:1335,14'
          Dst:             __errno_location
        - Src:             'upnp/src/ssdp/ssdp_server.c:1335,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/ssdp/ssdp_server.c:1336,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:1365,8'
          Dst:             setsockopt
        - Src:             'upnp/src/ssdp/ssdp_server.c:1371,14'
          Dst:             __errno_location
        - Src:             'upnp/src/ssdp/ssdp_server.c:1371,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/ssdp/ssdp_server.c:1372,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:1385,25'
          Dst:             htons
        - Src:             'upnp/src/ssdp/ssdp_server.c:1386,8'
          Dst:             bind
        - Src:             'upnp/src/ssdp/ssdp_server.c:1388,14'
          Dst:             __errno_location
        - Src:             'upnp/src/ssdp/ssdp_server.c:1388,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/ssdp/ssdp_server.c:1389,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:1403,2'
          Dst:             inet_pton
        - Src:             'upnp/src/ssdp/ssdp_server.c:1405,8'
          Dst:             setsockopt
        - Src:             'upnp/src/ssdp/ssdp_server.c:1411,14'
          Dst:             __errno_location
        - Src:             'upnp/src/ssdp/ssdp_server.c:1411,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/ssdp/ssdp_server.c:1412,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:1423,8'
          Dst:             setsockopt
        - Src:             'upnp/src/ssdp/ssdp_server.c:1429,14'
          Dst:             __errno_location
        - Src:             'upnp/src/ssdp/ssdp_server.c:1429,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/ssdp/ssdp_server.c:1430,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:1444,3'
          Dst:             close
    - functionName:    create_ssdp_sock_v6
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1128
      functionLinenumberEnd: 1298
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          203
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - UpnpPrintf
        - __errno_location
        - __xpg_strerror_r
        - bind
        - close
        - htons
        - inet_pton
        - setsockopt
        - socket
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_server.c:1136,14'
          Dst:             socket
        - Src:             'upnp/src/ssdp/ssdp_server.c:1138,14'
          Dst:             __errno_location
        - Src:             'upnp/src/ssdp/ssdp_server.c:1138,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/ssdp/ssdp_server.c:1139,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:1149,8'
          Dst:             setsockopt
        - Src:             'upnp/src/ssdp/ssdp_server.c:1155,14'
          Dst:             __errno_location
        - Src:             'upnp/src/ssdp/ssdp_server.c:1155,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/ssdp/ssdp_server.c:1156,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:1185,8'
          Dst:             setsockopt
        - Src:             'upnp/src/ssdp/ssdp_server.c:1191,14'
          Dst:             __errno_location
        - Src:             'upnp/src/ssdp/ssdp_server.c:1191,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/ssdp/ssdp_server.c:1192,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:1207,25'
          Dst:             htons
        - Src:             'upnp/src/ssdp/ssdp_server.c:1208,8'
          Dst:             bind
        - Src:             'upnp/src/ssdp/ssdp_server.c:1211,14'
          Dst:             __errno_location
        - Src:             'upnp/src/ssdp/ssdp_server.c:1211,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/ssdp/ssdp_server.c:1212,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:1240,2'
          Dst:             inet_pton
        - Src:             'upnp/src/ssdp/ssdp_server.c:1242,8'
          Dst:             setsockopt
        - Src:             'upnp/src/ssdp/ssdp_server.c:1249,14'
          Dst:             __errno_location
        - Src:             'upnp/src/ssdp/ssdp_server.c:1249,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/ssdp/ssdp_server.c:1250,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:1273,8'
          Dst:             setsockopt
        - Src:             'upnp/src/ssdp/ssdp_server.c:1279,14'
          Dst:             __errno_location
        - Src:             'upnp/src/ssdp/ssdp_server.c:1279,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/ssdp/ssdp_server.c:1280,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:1294,3'
          Dst:             close
    - functionName:    create_ssdp_sock_v4
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 925
      functionLinenumberEnd: 1083
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          192
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - UpnpPrintf
        - __errno_location
        - __xpg_strerror_r
        - bind
        - close
        - htonl
        - htons
        - inet_pton
        - setsockopt
        - socket
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_server.c:935,14'
          Dst:             socket
        - Src:             'upnp/src/ssdp/ssdp_server.c:937,14'
          Dst:             __errno_location
        - Src:             'upnp/src/ssdp/ssdp_server.c:937,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/ssdp/ssdp_server.c:938,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:948,8'
          Dst:             setsockopt
        - Src:             'upnp/src/ssdp/ssdp_server.c:954,14'
          Dst:             __errno_location
        - Src:             'upnp/src/ssdp/ssdp_server.c:954,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/ssdp/ssdp_server.c:955,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:985,31'
          Dst:             htonl
        - Src:             'upnp/src/ssdp/ssdp_server.c:986,24'
          Dst:             htons
        - Src:             'upnp/src/ssdp/ssdp_server.c:987,8'
          Dst:             bind
        - Src:             'upnp/src/ssdp/ssdp_server.c:989,14'
          Dst:             __errno_location
        - Src:             'upnp/src/ssdp/ssdp_server.c:989,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/ssdp/ssdp_server.c:990,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:1013,2'
          Dst:             inet_pton
        - Src:             'upnp/src/ssdp/ssdp_server.c:1014,2'
          Dst:             inet_pton
        - Src:             'upnp/src/ssdp/ssdp_server.c:1015,8'
          Dst:             setsockopt
        - Src:             'upnp/src/ssdp/ssdp_server.c:1021,14'
          Dst:             __errno_location
        - Src:             'upnp/src/ssdp/ssdp_server.c:1021,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/ssdp/ssdp_server.c:1022,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:1034,2'
          Dst:             inet_pton
        - Src:             'upnp/src/ssdp/ssdp_server.c:1035,8'
          Dst:             setsockopt
        - Src:             'upnp/src/ssdp/ssdp_server.c:1041,14'
          Dst:             __errno_location
        - Src:             'upnp/src/ssdp/ssdp_server.c:1041,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/ssdp/ssdp_server.c:1042,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:1052,2'
          Dst:             setsockopt
        - Src:             'upnp/src/ssdp/ssdp_server.c:1058,8'
          Dst:             setsockopt
        - Src:             'upnp/src/ssdp/ssdp_server.c:1064,14'
          Dst:             __errno_location
        - Src:             'upnp/src/ssdp/ssdp_server.c:1064,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/ssdp/ssdp_server.c:1065,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:1079,3'
          Dst:             close
    - functionName:    create_ssdp_sock_reqv6
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1460
      functionLinenumberEnd: 1487
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpPrintf
        - __errno_location
        - __xpg_strerror_r
        - setsockopt
        - sock_make_no_blocking
        - socket
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_server.c:1464,17'
          Dst:             socket
        - Src:             'upnp/src/ssdp/ssdp_server.c:1466,14'
          Dst:             __errno_location
        - Src:             'upnp/src/ssdp/ssdp_server.c:1466,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/ssdp/ssdp_server.c:1467,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:1478,2'
          Dst:             setsockopt
        - Src:             'upnp/src/ssdp/ssdp_server.c:1484,2'
          Dst:             sock_make_no_blocking
    - functionName:    create_ssdp_sock_reqv4
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1094
      functionLinenumberEnd: 1118
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpPrintf
        - __errno_location
        - __xpg_strerror_r
        - setsockopt
        - sock_make_no_blocking
        - socket
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_server.c:1098,17'
          Dst:             socket
        - Src:             'upnp/src/ssdp/ssdp_server.c:1100,14'
          Dst:             __errno_location
        - Src:             'upnp/src/ssdp/ssdp_server.c:1100,3'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/ssdp/ssdp_server.c:1101,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:1109,2'
          Dst:             setsockopt
        - Src:             'upnp/src/ssdp/ssdp_server.c:1115,2'
          Dst:             sock_make_no_blocking
    - functionName:    get_ssdp_sockets
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1492
      functionLinenumberEnd: 1563
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         29
      ICount:          217
      EdgeCount:       39
      CyclomaticComplexity: 12
      functionsReached:
        - close
        - create_ssdp_sock_reqv4
        - create_ssdp_sock_reqv6
        - create_ssdp_sock_v4
        - create_ssdp_sock_v6
        - create_ssdp_sock_v6_ula_gua
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_server.c:1499,6'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_server.c:1500,12'
          Dst:             create_ssdp_sock_reqv4
        - Src:             'upnp/src/ssdp/ssdp_server.c:1509,6'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_server.c:1510,12'
          Dst:             create_ssdp_sock_reqv6
        - Src:             'upnp/src/ssdp/ssdp_server.c:1512,4'
          Dst:             close
        - Src:             'upnp/src/ssdp/ssdp_server.c:1522,6'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_server.c:1523,12'
          Dst:             create_ssdp_sock_v4
        - Src:             'upnp/src/ssdp/ssdp_server.c:1526,4'
          Dst:             close
        - Src:             'upnp/src/ssdp/ssdp_server.c:1527,4'
          Dst:             close
        - Src:             'upnp/src/ssdp/ssdp_server.c:1535,6'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_server.c:1536,12'
          Dst:             create_ssdp_sock_v6
        - Src:             'upnp/src/ssdp/ssdp_server.c:1538,4'
          Dst:             close
        - Src:             'upnp/src/ssdp/ssdp_server.c:1540,4'
          Dst:             close
        - Src:             'upnp/src/ssdp/ssdp_server.c:1541,4'
          Dst:             close
        - Src:             'upnp/src/ssdp/ssdp_server.c:1547,6'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_server.c:1548,12'
          Dst:             create_ssdp_sock_v6_ula_gua
        - Src:             'upnp/src/ssdp/ssdp_server.c:1550,4'
          Dst:             close
        - Src:             'upnp/src/ssdp/ssdp_server.c:1551,4'
          Dst:             close
        - Src:             'upnp/src/ssdp/ssdp_server.c:1553,4'
          Dst:             close
        - Src:             'upnp/src/ssdp/ssdp_server.c:1554,4'
          Dst:             close
    - functionName:    ssdp_event_handler_thread
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 801
      functionLinenumberEnd: 819
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          66
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - free_ssdp_event_handler_data
        - ssdp_handle_ctrlpt_msg
        - ssdp_handle_device_request
        - start_event_handler
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_server.c:805,6'
          Dst:             start_event_handler
        - Src:             'upnp/src/ssdp/ssdp_server.c:811,3'
          Dst:             ssdp_handle_ctrlpt_msg
        - Src:             'upnp/src/ssdp/ssdp_server.c:814,3'
          Dst:             ssdp_handle_device_request
        - Src:             'upnp/src/ssdp/ssdp_server.c:818,2'
          Dst:             free_ssdp_event_handler_data
    - functionName:    readFromSSDPSocket
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 822
      functionLinenumberEnd: 917
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         28
      ICount:          199
      EdgeCount:       34
      CyclomaticComplexity: 8
      functionsReached:
        - TPJobInit
        - TPJobSetFreeFunction
        - TPJobSetPriority
        - ThreadPoolAdd
        - UpnpPrintf
        - free_ssdp_event_handler_data
        - inet_ntop
        - membuffer_set_size
        - parser_request_init
        - parser_response_init
        - recvfrom
        - ssdp_event_handler_thread
        - strncpy
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/ssdp/ssdp_server.c:869,3'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_server.c:846,4'
          Dst:             parser_response_init
        - Src:             'upnp/src/ssdp/ssdp_server.c:848,4'
          Dst:             parser_request_init
        - Src:             'upnp/src/ssdp/ssdp_server.c:853,7'
          Dst:             membuffer_set_size
        - Src:             'upnp/src/ssdp/ssdp_server.c:861,17'
          Dst:             recvfrom
        - Src:             'upnp/src/ssdp/ssdp_server.c:871,4'
          Dst:             inet_ntop
        - Src:             'upnp/src/ssdp/ssdp_server.c:878,4'
          Dst:             inet_ntop
        - Src:             'upnp/src/ssdp/ssdp_server.c:886,4'
          Dst:             strncpy
        - Src:             'upnp/src/ssdp/ssdp_server.c:891,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:903,4'
          Dst:             TPJobInit
        - Src:             'upnp/src/ssdp/ssdp_server.c:903,4'
          Dst:             ssdp_event_handler_thread
        - Src:             'upnp/src/ssdp/ssdp_server.c:906,4'
          Dst:             TPJobSetFreeFunction
        - Src:             'upnp/src/ssdp/ssdp_server.c:906,4'
          Dst:             free_ssdp_event_handler_data
        - Src:             'upnp/src/ssdp/ssdp_server.c:908,4'
          Dst:             TPJobSetPriority
        - Src:             'upnp/src/ssdp/ssdp_server.c:909,8'
          Dst:             ThreadPoolAdd
        - Src:             'upnp/src/ssdp/ssdp_server.c:910,5'
          Dst:             free_ssdp_event_handler_data
        - Src:             'upnp/src/ssdp/ssdp_server.c:914,2'
          Dst:             free_ssdp_event_handler_data
    - functionName:    ssdp_request_type
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 664
      functionLinenumberEnd: 674
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ssdp_request_type1
        - unique_service_name
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_server.c:667,2'
          Dst:             unique_service_name
        - Src:             'upnp/src/ssdp/ssdp_server.c:669,26'
          Dst:             ssdp_request_type1
    - functionName:    unique_service_name
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 557
      functionLinenumberEnd: 646
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         61
      ICount:          361
      EdgeCount:       82
      CyclomaticComplexity: 23
      functionsReached:
        - snprintf
        - strlen
        - strncpy
        - strstr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_server.c:567,6'
          Dst:             strstr
        - Src:             'upnp/src/ssdp/ssdp_server.c:568,10'
          Dst:             strstr
        - Src:             'upnp/src/ssdp/ssdp_server.c:570,11'
          Dst:             strstr
        - Src:             'upnp/src/ssdp/ssdp_server.c:574,11'
          Dst:             strstr
        - Src:             'upnp/src/ssdp/ssdp_server.c:578,26'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_server.c:581,4'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:585,10'
          Dst:             strstr
        - Src:             'upnp/src/ssdp/ssdp_server.c:589,4'
          Dst:             strncpy
        - Src:             'upnp/src/ssdp/ssdp_server.c:591,24'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_server.c:594,4'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:602,17'
          Dst:             strstr
        - Src:             'upnp/src/ssdp/ssdp_server.c:603,14'
          Dst:             strstr
        - Src:             'upnp/src/ssdp/ssdp_server.c:606,4'
          Dst:             strncpy
        - Src:             'upnp/src/ssdp/ssdp_server.c:610,4'
          Dst:             strncpy
        - Src:             'upnp/src/ssdp/ssdp_server.c:614,6'
          Dst:             strstr
        - Src:             'upnp/src/ssdp/ssdp_server.c:614,37'
          Dst:             strstr
        - Src:             'upnp/src/ssdp/ssdp_server.c:615,18'
          Dst:             strstr
        - Src:             'upnp/src/ssdp/ssdp_server.c:617,4'
          Dst:             strncpy
        - Src:             'upnp/src/ssdp/ssdp_server.c:623,6'
          Dst:             strstr
        - Src:             'upnp/src/ssdp/ssdp_server.c:623,37'
          Dst:             strstr
        - Src:             'upnp/src/ssdp/ssdp_server.c:624,18'
          Dst:             strstr
        - Src:             'upnp/src/ssdp/ssdp_server.c:626,4'
          Dst:             strncpy
        - Src:             'upnp/src/ssdp/ssdp_server.c:632,17'
          Dst:             strstr
        - Src:             'upnp/src/ssdp/ssdp_server.c:637,4'
          Dst:             strncpy
    - functionName:    ssdp_request_type1
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 649
      functionLinenumberEnd: 661
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          86
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - strstr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_server.c:650,6'
          Dst:             strstr
        - Src:             'upnp/src/ssdp/ssdp_server.c:652,6'
          Dst:             strstr
        - Src:             'upnp/src/ssdp/ssdp_server.c:654,6'
          Dst:             strstr
        - Src:             'upnp/src/ssdp/ssdp_server.c:656,6'
          Dst:             strstr
        - Src:             'upnp/src/ssdp/ssdp_server.c:656,29'
          Dst:             strstr
        - Src:             'upnp/src/ssdp/ssdp_server.c:658,6'
          Dst:             strstr
        - Src:             'upnp/src/ssdp/ssdp_server.c:658,29'
          Dst:             strstr
    - functionName:    HandleUnlock
      functionSourceFile: '/src/pupnp/upnp/src/inc/upnpapi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpPrintf
        - pthread_rwlock_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/upnpapi.h:146,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/inc/upnpapi.h:147,2'
          Dst:             pthread_rwlock_unlock
        - Src:             'upnp/src/inc/upnpapi.h:148,2'
          Dst:             UpnpPrintf
    - functionName:    HandleReadLock
      functionSourceFile: '/src/pupnp/upnp/src/inc/upnpapi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpPrintf
        - pthread_rwlock_rdlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/upnpapi.h:153,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/inc/upnpapi.h:154,2'
          Dst:             pthread_rwlock_rdlock
        - Src:             'upnp/src/inc/upnpapi.h:155,2'
          Dst:             UpnpPrintf
    - functionName:    AdvertiseAndReply
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 552
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - int
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         121
      ICount:          877
      EdgeCount:       158
      CyclomaticComplexity: 39
      functionsReached:
        - DeviceAdvertisement
        - DeviceReply
        - DeviceShutdown
        - GetHandleInfo
        - HandleReadLock
        - HandleUnlock
        - SendReply
        - ServiceAdvertisement
        - ServiceReply
        - ServiceShutdown
        - UpnpPrintf
        - atoi
        - ixmlElement_getElementsByTagName
        - ixmlNodeList_free
        - ixmlNodeList_item
        - ixmlNode_getFirstChild
        - ixmlNode_getNextSibling
        - ixmlNode_getNodeName
        - ixmlNode_getNodeValue
        - nanosleep
        - strcasecmp
        - strlen
        - strncasecmp
        - strncmp
        - strncpy
        - strrchr
      functionUses:    3
      BranchProfiles:
        - Branch String:   'upnp/src/ssdp/ssdp_server.c:298,5'
          Branch Sides:    []
        - Branch String:   'upnp/src/ssdp/ssdp_server.c:479,6'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_server.c:133,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:141,2'
          Dst:             HandleReadLock
        - Src:             'upnp/src/ssdp/ssdp_server.c:142,6'
          Dst:             GetHandleInfo
        - Src:             'upnp/src/ssdp/ssdp_server.c:150,4'
          Dst:             nanosleep
        - Src:             'upnp/src/ssdp/ssdp_server.c:153,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:159,14'
          Dst:             ixmlNodeList_item
        - Src:             'upnp/src/ssdp/ssdp_server.c:161,5'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:170,13'
          Dst:             ixmlNode_getNodeName
        - Src:             'upnp/src/ssdp/ssdp_server.c:171,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:177,4'
          Dst:             ixmlNodeList_free
        - Src:             'upnp/src/ssdp/ssdp_server.c:178,15'
          Dst:             ixmlElement_getElementsByTagName
        - Src:             'upnp/src/ssdp/ssdp_server.c:182,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:188,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:193,15'
          Dst:             ixmlNodeList_item
        - Src:             'upnp/src/ssdp/ssdp_server.c:196,15'
          Dst:             ixmlNode_getFirstChild
        - Src:             'upnp/src/ssdp/ssdp_server.c:199,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:204,13'
          Dst:             ixmlNode_getNodeValue
        - Src:             'upnp/src/ssdp/ssdp_server.c:207,4'
          Dst:             strncpy
        - Src:             'upnp/src/ssdp/ssdp_server.c:208,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:215,5'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:221,13'
          Dst:             ixmlNode_getNodeName
        - Src:             'upnp/src/ssdp/ssdp_server.c:222,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:228,4'
          Dst:             ixmlNodeList_free
        - Src:             'upnp/src/ssdp/ssdp_server.c:229,15'
          Dst:             ixmlElement_getElementsByTagName
        - Src:             'upnp/src/ssdp/ssdp_server.c:232,5'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:239,15'
          Dst:             ixmlNodeList_item
        - Src:             'upnp/src/ssdp/ssdp_server.c:241,5'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:248,15'
          Dst:             ixmlNode_getFirstChild
        - Src:             'upnp/src/ssdp/ssdp_server.c:250,5'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:257,13'
          Dst:             ixmlNode_getNodeValue
        - Src:             'upnp/src/ssdp/ssdp_server.c:259,5'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:266,4'
          Dst:             strncpy
        - Src:             'upnp/src/ssdp/ssdp_server.c:267,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:276,6'
          Dst:             DeviceAdvertisement
        - Src:             'upnp/src/ssdp/ssdp_server.c:287,6'
          Dst:             DeviceShutdown
        - Src:             'upnp/src/ssdp/ssdp_server.c:300,6'
          Dst:             DeviceReply
        - Src:             'upnp/src/ssdp/ssdp_server.c:312,7'
          Dst:             SendReply
        - Src:             'upnp/src/ssdp/ssdp_server.c:326,23'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_server.c:327,11'
          Dst:             strcasecmp
        - Src:             'upnp/src/ssdp/ssdp_server.c:328,8'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:332,8'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:335,8'
          Dst:             SendReply
        - Src:             'upnp/src/ssdp/ssdp_server.c:346,44'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_server.c:346,11'
          Dst:             strncasecmp
        - Src:             'upnp/src/ssdp/ssdp_server.c:347,16'
          Dst:             strrchr
        - Src:             'upnp/src/ssdp/ssdp_server.c:347,11'
          Dst:             atoi
        - Src:             'upnp/src/ssdp/ssdp_server.c:348,27'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_server.c:348,13'
          Dst:             atoi
        - Src:             'upnp/src/ssdp/ssdp_server.c:352,8'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:355,8'
          Dst:             SendReply
        - Src:             'upnp/src/ssdp/ssdp_server.c:360,23'
          Dst:             strrchr
        - Src:             'upnp/src/ssdp/ssdp_server.c:360,18'
          Dst:             atoi
        - Src:             'upnp/src/ssdp/ssdp_server.c:361,28'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_server.c:361,14'
          Dst:             atoi
        - Src:             'upnp/src/ssdp/ssdp_server.c:362,8'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:365,8'
          Dst:             SendReply
        - Src:             'upnp/src/ssdp/ssdp_server.c:371,8'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:376,7'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:389,4'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:398,14'
          Dst:             ixmlNode_getFirstChild
        - Src:             'upnp/src/ssdp/ssdp_server.c:400,14'
          Dst:             ixmlNode_getNodeName
        - Src:             'upnp/src/ssdp/ssdp_server.c:401,10'
          Dst:             strncmp
        - Src:             'upnp/src/ssdp/ssdp_server.c:406,15'
          Dst:             ixmlNode_getNextSibling
        - Src:             'upnp/src/ssdp/ssdp_server.c:408,4'
          Dst:             ixmlNodeList_free
        - Src:             'upnp/src/ssdp/ssdp_server.c:413,15'
          Dst:             ixmlElement_getElementsByTagName
        - Src:             'upnp/src/ssdp/ssdp_server.c:416,5'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:424,15'
          Dst:             ixmlNodeList_item
        - Src:             'upnp/src/ssdp/ssdp_server.c:428,5'
          Dst:             ixmlNodeList_free
        - Src:             'upnp/src/ssdp/ssdp_server.c:429,19'
          Dst:             ixmlElement_getElementsByTagName
        - Src:             'upnp/src/ssdp/ssdp_server.c:432,6'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:439,16'
          Dst:             ixmlNodeList_item
        - Src:             'upnp/src/ssdp/ssdp_server.c:442,16'
          Dst:             ixmlNode_getFirstChild
        - Src:             'upnp/src/ssdp/ssdp_server.c:447,14'
          Dst:             ixmlNode_getNodeValue
        - Src:             'upnp/src/ssdp/ssdp_server.c:450,5'
          Dst:             strncpy
        - Src:             'upnp/src/ssdp/ssdp_server.c:451,5'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:459,7'
          Dst:             ServiceAdvertisement
        - Src:             'upnp/src/ssdp/ssdp_server.c:469,7'
          Dst:             ServiceShutdown
        - Src:             'upnp/src/ssdp/ssdp_server.c:481,7'
          Dst:             ServiceReply
        - Src:             'upnp/src/ssdp/ssdp_server.c:493,48'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_server.c:493,13'
          Dst:             strncasecmp
        - Src:             'upnp/src/ssdp/ssdp_server.c:494,18'
          Dst:             strrchr
        - Src:             'upnp/src/ssdp/ssdp_server.c:494,13'
          Dst:             atoi
        - Src:             'upnp/src/ssdp/ssdp_server.c:495,28'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_server.c:495,13'
          Dst:             atoi
        - Src:             'upnp/src/ssdp/ssdp_server.c:499,10'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:502,10'
          Dst:             SendReply
        - Src:             'upnp/src/ssdp/ssdp_server.c:507,25'
          Dst:             strrchr
        - Src:             'upnp/src/ssdp/ssdp_server.c:507,20'
          Dst:             atoi
        - Src:             'upnp/src/ssdp/ssdp_server.c:508,28'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_server.c:508,13'
          Dst:             atoi
        - Src:             'upnp/src/ssdp/ssdp_server.c:509,10'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:512,10'
          Dst:             SendReply
        - Src:             'upnp/src/ssdp/ssdp_server.c:518,10'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:523,9'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:535,4'
          Dst:             ixmlNodeList_free
        - Src:             'upnp/src/ssdp/ssdp_server.c:537,4'
          Dst:             ixmlNodeList_free
        - Src:             'upnp/src/ssdp/ssdp_server.c:543,2'
          Dst:             ixmlNodeList_free
        - Src:             'upnp/src/ssdp/ssdp_server.c:544,2'
          Dst:             ixmlNodeList_free
        - Src:             'upnp/src/ssdp/ssdp_server.c:545,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_server.c:550,2'
          Dst:             HandleUnlock
    - functionName:    uuid_compare
      functionSourceFile: '/src/pupnp/upnp/src/uuid/uuid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 309
      functionLinenumberEnd: 325
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          210
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    format_uuid_v3
      functionSourceFile: '/src/pupnp/upnp/src/uuid/uuid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 280
      functionLinenumberEnd: 293
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          67
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ntohl
        - ntohs
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/uuid/uuid.c:285,18'
          Dst:             ntohl
        - Src:             'upnp/src/uuid/uuid.c:286,18'
          Dst:             ntohs
        - Src:             'upnp/src/uuid/uuid.c:287,29'
          Dst:             ntohs
    - functionName:    uuid_create_from_name
      functionSourceFile: '/src/pupnp/upnp/src/uuid/uuid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 257
      functionLinenumberEnd: 274
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          52
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - MD5Final
        - MD5Init
        - MD5Update
        - format_uuid_v3
        - htonl
        - htons
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/uuid/uuid.c:265,22'
          Dst:             htonl
        - Src:             'upnp/src/uuid/uuid.c:266,22'
          Dst:             htons
        - Src:             'upnp/src/uuid/uuid.c:267,33'
          Dst:             htons
        - Src:             'upnp/src/uuid/uuid.c:268,2'
          Dst:             MD5Init
        - Src:             'upnp/src/uuid/uuid.c:269,2'
          Dst:             MD5Update
        - Src:             'upnp/src/uuid/uuid.c:270,2'
          Dst:             MD5Update
        - Src:             'upnp/src/uuid/uuid.c:271,2'
          Dst:             MD5Final
        - Src:             'upnp/src/uuid/uuid.c:273,2'
          Dst:             format_uuid_v3
    - functionName:    upnp_uuid_unpack
      functionSourceFile: '/src/pupnp/upnp/src/uuid/uuid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 117
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          66
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sprintf
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/uuid/uuid.c:103,2'
          Dst:             sprintf
    - functionName:    write_state
      functionSourceFile: '/src/pupnp/upnp/src/uuid/uuid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 186
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - short
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          47
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    format_uuid_v1
      functionSourceFile: '/src/pupnp/upnp/src/uuid/uuid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 126
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - short
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          65
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    true_random
      functionSourceFile: '/src/pupnp/upnp/src/uuid/uuid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 229
      functionLinenumberEnd: 241
      functionDepth:   0
      returnType:      short
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - get_system_time
        - rand
        - srand
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/uuid/uuid.c:234,3'
          Dst:             get_system_time
        - Src:             'upnp/src/uuid/uuid.c:236,3'
          Dst:             srand
        - Src:             'upnp/src/uuid/uuid.c:241,20'
          Dst:             rand
    - functionName:    rand
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    read_state
      functionSourceFile: '/src/pupnp/upnp/src/uuid/uuid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_current_time
      functionSourceFile: '/src/pupnp/upnp/src/uuid/uuid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 222
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          64
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - get_system_time
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/uuid/uuid.c:205,3'
          Dst:             get_system_time
    - functionName:    uuid_create
      functionSourceFile: '/src/pupnp/upnp/src/uuid/uuid.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          76
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - format_uuid_v1
        - get_current_time
        - get_ieee_node_identifier
        - memcmp
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - read_state
        - true_random
        - write_state
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/uuid/uuid.c:63,2'
          Dst:             pthread_mutex_lock
        - Src:             'upnp/src/uuid/uuid.c:65,2'
          Dst:             get_current_time
        - Src:             'upnp/src/uuid/uuid.c:67,2'
          Dst:             get_ieee_node_identifier
        - Src:             'upnp/src/uuid/uuid.c:69,6'
          Dst:             read_state
        - Src:             'upnp/src/uuid/uuid.c:72,12'
          Dst:             memcmp
        - Src:             'upnp/src/uuid/uuid.c:73,14'
          Dst:             true_random
        - Src:             'upnp/src/uuid/uuid.c:77,2'
          Dst:             format_uuid_v1
        - Src:             'upnp/src/uuid/uuid.c:79,2'
          Dst:             write_state
        - Src:             'upnp/src/uuid/uuid.c:80,2'
          Dst:             pthread_mutex_unlock
    - functionName:    UpnpActionRequest_clear_Os
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 393
      functionLinenumberEnd: 395
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:394,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpActionRequest_strncpy_Os
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 388
      functionLinenumberEnd: 389
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:389,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpActionRequest_strcpy_Os
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 383
      functionLinenumberEnd: 384
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:384,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpActionRequest_get_Os_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 378
      functionLinenumberEnd: 379
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpActionRequest_get_Os
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:379,31'
          Dst:             UpnpActionRequest_get_Os
        - Src:             'upnp/src/api/UpnpActionRequest.c:379,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpActionRequest_get_Os
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 361
      functionLinenumberEnd: 362
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionRequest_get_Os_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 373
      functionLinenumberEnd: 374
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpActionRequest_get_Os
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:374,31'
          Dst:             UpnpActionRequest_get_Os
        - Src:             'upnp/src/api/UpnpActionRequest.c:374,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpActionRequest_clear_CtrlPtIPAddr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 356
      functionLinenumberEnd: 358
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionRequest_clear_ServiceID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 301
      functionLinenumberEnd: 303
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:302,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpActionRequest_strncpy_ServiceID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 296
      functionLinenumberEnd: 297
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:297,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpActionRequest_strcpy_ServiceID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 290
      functionLinenumberEnd: 291
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:291,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpActionRequest_get_ServiceID_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 285
      functionLinenumberEnd: 286
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpActionRequest_get_ServiceID
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:286,31'
          Dst:             UpnpActionRequest_get_ServiceID
        - Src:             'upnp/src/api/UpnpActionRequest.c:286,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpActionRequest_get_ServiceID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 268
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionRequest_get_ServiceID_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 280
      functionLinenumberEnd: 281
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpActionRequest_get_ServiceID
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:281,31'
          Dst:             UpnpActionRequest_get_ServiceID
        - Src:             'upnp/src/api/UpnpActionRequest.c:281,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpActionRequest_clear_DevUDN
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 263
      functionLinenumberEnd: 265
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:264,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpActionRequest_strncpy_DevUDN
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 258
      functionLinenumberEnd: 259
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:259,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpActionRequest_strcpy_DevUDN
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 253
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:253,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpActionRequest_get_DevUDN_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 247
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpActionRequest_get_DevUDN
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:248,31'
          Dst:             UpnpActionRequest_get_DevUDN
        - Src:             'upnp/src/api/UpnpActionRequest.c:248,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpActionRequest_get_DevUDN
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 230
      functionLinenumberEnd: 231
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionRequest_get_DevUDN_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 242
      functionLinenumberEnd: 243
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpActionRequest_get_DevUDN
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:243,31'
          Dst:             UpnpActionRequest_get_DevUDN
        - Src:             'upnp/src/api/UpnpActionRequest.c:243,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpActionRequest_clear_ActionName
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 225
      functionLinenumberEnd: 227
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:226,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpActionRequest_strncpy_ActionName
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 221
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:221,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpActionRequest_strcpy_ActionName
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 214
      functionLinenumberEnd: 215
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:215,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpActionRequest_get_ActionName_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 209
      functionLinenumberEnd: 210
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpActionRequest_get_ActionName
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:210,31'
          Dst:             UpnpActionRequest_get_ActionName
        - Src:             'upnp/src/api/UpnpActionRequest.c:210,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpActionRequest_get_ActionName
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 193
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionRequest_get_ActionName_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 205
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpActionRequest_get_ActionName
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:205,31'
          Dst:             UpnpActionRequest_get_ActionName
        - Src:             'upnp/src/api/UpnpActionRequest.c:205,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpActionRequest_clear_ErrStr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 187
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:188,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpActionRequest_strncpy_ErrStr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 182
      functionLinenumberEnd: 183
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:183,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpActionRequest_strcpy_ErrStr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 176
      functionLinenumberEnd: 177
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:177,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpActionRequest_get_ErrStr_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpActionRequest_get_ErrStr
        - UpnpString_get_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:172,31'
          Dst:             UpnpActionRequest_get_ErrStr
        - Src:             'upnp/src/api/UpnpActionRequest.c:172,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpActionRequest_get_ErrStr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionRequest_get_ErrStr_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpActionRequest_get_ErrStr
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:167,31'
          Dst:             UpnpActionRequest_get_ErrStr
        - Src:             'upnp/src/api/UpnpActionRequest.c:167,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpActionRequest_dup
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpActionRequest_assign
        - UpnpActionRequest_new
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:119,25'
          Dst:             UpnpActionRequest_new
        - Src:             'upnp/src/api/UpnpActionRequest.c:124,2'
          Dst:             UpnpActionRequest_assign
    - functionName:    UpnpActionRequest_new
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpString_new
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:38,3'
          Dst:             calloc
        - Src:             'upnp/src/api/UpnpActionRequest.c:45,16'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/UpnpActionRequest.c:46,20'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/UpnpActionRequest.c:47,16'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/UpnpActionRequest.c:48,19'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/UpnpActionRequest.c:53,12'
          Dst:             UpnpString_new
    - functionName:    UpnpActionRequest_assign
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         39
      ICount:          258
      EdgeCount:       51
      CyclomaticComplexity: 14
      functionsReached:
        - UpnpActionRequest_get_ActionName
        - UpnpActionRequest_get_ActionRequest
        - UpnpActionRequest_get_ActionResult
        - UpnpActionRequest_get_CtrlPtIPAddr
        - UpnpActionRequest_get_DevUDN
        - UpnpActionRequest_get_ErrCode
        - UpnpActionRequest_get_ErrStr
        - UpnpActionRequest_get_Os
        - UpnpActionRequest_get_ServiceID
        - UpnpActionRequest_get_SoapHeader
        - UpnpActionRequest_get_Socket
        - UpnpActionRequest_set_ActionName
        - UpnpActionRequest_set_ActionRequest
        - UpnpActionRequest_set_ActionResult
        - UpnpActionRequest_set_CtrlPtIPAddr
        - UpnpActionRequest_set_DevUDN
        - UpnpActionRequest_set_ErrCode
        - UpnpActionRequest_set_ErrStr
        - UpnpActionRequest_set_Os
        - UpnpActionRequest_set_ServiceID
        - UpnpActionRequest_set_SoapHeader
        - UpnpActionRequest_set_Socket
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:91,11'
          Dst:             UpnpActionRequest_get_ErrCode
        - Src:             'upnp/src/api/UpnpActionRequest.c:90,14'
          Dst:             UpnpActionRequest_set_ErrCode
        - Src:             'upnp/src/api/UpnpActionRequest.c:93,11'
          Dst:             UpnpActionRequest_get_Socket
        - Src:             'upnp/src/api/UpnpActionRequest.c:92,14'
          Dst:             UpnpActionRequest_set_Socket
        - Src:             'upnp/src/api/UpnpActionRequest.c:95,11'
          Dst:             UpnpActionRequest_get_ErrStr
        - Src:             'upnp/src/api/UpnpActionRequest.c:94,14'
          Dst:             UpnpActionRequest_set_ErrStr
        - Src:             'upnp/src/api/UpnpActionRequest.c:97,11'
          Dst:             UpnpActionRequest_get_ActionName
        - Src:             'upnp/src/api/UpnpActionRequest.c:96,14'
          Dst:             UpnpActionRequest_set_ActionName
        - Src:             'upnp/src/api/UpnpActionRequest.c:99,11'
          Dst:             UpnpActionRequest_get_DevUDN
        - Src:             'upnp/src/api/UpnpActionRequest.c:98,14'
          Dst:             UpnpActionRequest_set_DevUDN
        - Src:             'upnp/src/api/UpnpActionRequest.c:101,11'
          Dst:             UpnpActionRequest_get_ServiceID
        - Src:             'upnp/src/api/UpnpActionRequest.c:100,14'
          Dst:             UpnpActionRequest_set_ServiceID
        - Src:             'upnp/src/api/UpnpActionRequest.c:103,11'
          Dst:             UpnpActionRequest_get_ActionRequest
        - Src:             'upnp/src/api/UpnpActionRequest.c:102,14'
          Dst:             UpnpActionRequest_set_ActionRequest
        - Src:             'upnp/src/api/UpnpActionRequest.c:105,11'
          Dst:             UpnpActionRequest_get_ActionResult
        - Src:             'upnp/src/api/UpnpActionRequest.c:104,14'
          Dst:             UpnpActionRequest_set_ActionResult
        - Src:             'upnp/src/api/UpnpActionRequest.c:107,11'
          Dst:             UpnpActionRequest_get_SoapHeader
        - Src:             'upnp/src/api/UpnpActionRequest.c:106,14'
          Dst:             UpnpActionRequest_set_SoapHeader
        - Src:             'upnp/src/api/UpnpActionRequest.c:109,11'
          Dst:             UpnpActionRequest_get_CtrlPtIPAddr
        - Src:             'upnp/src/api/UpnpActionRequest.c:108,14'
          Dst:             UpnpActionRequest_set_CtrlPtIPAddr
        - Src:             'upnp/src/api/UpnpActionRequest.c:111,36'
          Dst:             UpnpActionRequest_get_Os
        - Src:             'upnp/src/api/UpnpActionRequest.c:111,8'
          Dst:             UpnpActionRequest_set_Os
    - functionName:    UpnpActionRequest_get_ErrCode
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionRequest_set_ErrCode
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionRequest_get_Socket
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionRequest_set_Socket
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionRequest_set_ErrStr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:160,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpActionRequest.c:162,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpActionRequest_set_ActionName
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 197
      functionLinenumberEnd: 200
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:198,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpActionRequest.c:200,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpActionRequest_set_DevUDN
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 238
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:236,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpActionRequest.c:238,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpActionRequest_set_ServiceID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 273
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:274,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpActionRequest.c:276,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpActionRequest_get_ActionRequest
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 306
      functionLinenumberEnd: 307
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionRequest_set_ActionRequest
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 311
      functionLinenumberEnd: 314
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionRequest_get_ActionResult
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 318
      functionLinenumberEnd: 319
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionRequest_set_ActionResult
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 326
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionRequest_get_SoapHeader
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 330
      functionLinenumberEnd: 331
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionRequest_set_SoapHeader
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 335
      functionLinenumberEnd: 338
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionRequest_get_CtrlPtIPAddr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 343
      functionLinenumberEnd: 344
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionRequest_set_CtrlPtIPAddr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 352
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpActionRequest_set_Os
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 366
      functionLinenumberEnd: 369
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:367,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpActionRequest.c:369,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpActionRequest_delete
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpActionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          82
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpString_delete
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpActionRequest.c:65,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/api/UpnpActionRequest.c:71,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/api/UpnpActionRequest.c:73,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/api/UpnpActionRequest.c:75,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/api/UpnpActionRequest.c:77,2'
          Dst:             UpnpString_delete
    - functionName:    UpnpDiscovery_clear_DestAddr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 447
      functionLinenumberEnd: 449
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpDiscovery_clear_Ext
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 430
      functionLinenumberEnd: 430
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:430,50'
          Dst:             UpnpString_clear
    - functionName:    UpnpDiscovery_strncpy_Ext
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 426
      functionLinenumberEnd: 427
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:427,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpDiscovery_strcpy_Ext
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 421
      functionLinenumberEnd: 422
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:422,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpDiscovery_get_Ext_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 416
      functionLinenumberEnd: 417
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpDiscovery_get_Ext
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:417,31'
          Dst:             UpnpDiscovery_get_Ext
        - Src:             'upnp/src/api/UpnpDiscovery.c:417,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpDiscovery_get_Ext
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 399
      functionLinenumberEnd: 400
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpDiscovery_get_Ext_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 411
      functionLinenumberEnd: 412
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpDiscovery_get_Ext
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:412,31'
          Dst:             UpnpDiscovery_get_Ext
        - Src:             'upnp/src/api/UpnpDiscovery.c:412,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpDiscovery_clear_Date
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 396
      functionLinenumberEnd: 396
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:396,51'
          Dst:             UpnpString_clear
    - functionName:    UpnpDiscovery_strncpy_Date
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 392
      functionLinenumberEnd: 393
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:393,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpDiscovery_strcpy_Date
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 387
      functionLinenumberEnd: 388
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:388,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpDiscovery_get_Date_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 382
      functionLinenumberEnd: 383
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpDiscovery_get_Date
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:383,31'
          Dst:             UpnpDiscovery_get_Date
        - Src:             'upnp/src/api/UpnpDiscovery.c:383,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpDiscovery_get_Date
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 365
      functionLinenumberEnd: 366
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpDiscovery_get_Date_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 377
      functionLinenumberEnd: 378
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpDiscovery_get_Date
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:378,31'
          Dst:             UpnpDiscovery_get_Date
        - Src:             'upnp/src/api/UpnpDiscovery.c:378,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpDiscovery_clear_Os
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 362
      functionLinenumberEnd: 362
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:362,49'
          Dst:             UpnpString_clear
    - functionName:    UpnpDiscovery_strncpy_Os
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 358
      functionLinenumberEnd: 359
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:359,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpDiscovery_strcpy_Os
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 353
      functionLinenumberEnd: 354
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:354,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpDiscovery_get_Os_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 348
      functionLinenumberEnd: 349
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpDiscovery_get_Os
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:349,31'
          Dst:             UpnpDiscovery_get_Os
        - Src:             'upnp/src/api/UpnpDiscovery.c:349,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpDiscovery_get_Os
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 331
      functionLinenumberEnd: 332
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpDiscovery_get_Os_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 343
      functionLinenumberEnd: 344
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpDiscovery_get_Os
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:344,31'
          Dst:             UpnpDiscovery_get_Os
        - Src:             'upnp/src/api/UpnpDiscovery.c:344,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpDiscovery_clear_Location
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 326
      functionLinenumberEnd: 328
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:327,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpDiscovery_strncpy_Location
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 321
      functionLinenumberEnd: 322
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:322,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpDiscovery_strcpy_Location
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 316
      functionLinenumberEnd: 317
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:317,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpDiscovery_get_Location_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 311
      functionLinenumberEnd: 312
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpDiscovery_get_Location
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:312,31'
          Dst:             UpnpDiscovery_get_Location
        - Src:             'upnp/src/api/UpnpDiscovery.c:312,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpDiscovery_get_Location
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpDiscovery_get_Location_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 306
      functionLinenumberEnd: 307
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpDiscovery_get_Location
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:307,31'
          Dst:             UpnpDiscovery_get_Location
        - Src:             'upnp/src/api/UpnpDiscovery.c:307,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpDiscovery_clear_ServiceVer
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 289
      functionLinenumberEnd: 291
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:290,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpDiscovery_strncpy_ServiceVer
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 284
      functionLinenumberEnd: 285
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:285,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpDiscovery_strcpy_ServiceVer
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 279
      functionLinenumberEnd: 280
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:280,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpDiscovery_get_ServiceVer_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 275
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpDiscovery_get_ServiceVer
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:275,31'
          Dst:             UpnpDiscovery_get_ServiceVer
        - Src:             'upnp/src/api/UpnpDiscovery.c:275,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpDiscovery_get_ServiceVer
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 257
      functionLinenumberEnd: 258
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpDiscovery_get_ServiceVer_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 269
      functionLinenumberEnd: 270
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpDiscovery_get_ServiceVer
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:270,31'
          Dst:             UpnpDiscovery_get_ServiceVer
        - Src:             'upnp/src/api/UpnpDiscovery.c:270,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpDiscovery_clear_ServiceType
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 254
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:253,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpDiscovery_strncpy_ServiceType
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 247
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:248,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpDiscovery_strcpy_ServiceType
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 242
      functionLinenumberEnd: 243
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:243,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpDiscovery_get_ServiceType_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 237
      functionLinenumberEnd: 238
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpDiscovery_get_ServiceType
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:238,31'
          Dst:             UpnpDiscovery_get_ServiceType
        - Src:             'upnp/src/api/UpnpDiscovery.c:238,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpDiscovery_get_ServiceType
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 221
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpDiscovery_get_ServiceType_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 232
      functionLinenumberEnd: 233
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpDiscovery_get_ServiceType
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:233,31'
          Dst:             UpnpDiscovery_get_ServiceType
        - Src:             'upnp/src/api/UpnpDiscovery.c:233,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpDiscovery_clear_DeviceType
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:216,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpDiscovery_strncpy_DeviceType
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:211,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpDiscovery_strcpy_DeviceType
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 205
      functionLinenumberEnd: 206
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:206,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpDiscovery_get_DeviceType_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpDiscovery_get_DeviceType
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:201,31'
          Dst:             UpnpDiscovery_get_DeviceType
        - Src:             'upnp/src/api/UpnpDiscovery.c:201,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpDiscovery_get_DeviceType
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 183
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpDiscovery_get_DeviceType_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpDiscovery_get_DeviceType
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:196,31'
          Dst:             UpnpDiscovery_get_DeviceType
        - Src:             'upnp/src/api/UpnpDiscovery.c:196,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpDiscovery_clear_DeviceID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 180
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:179,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpDiscovery_strncpy_DeviceID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:174,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpDiscovery_strcpy_DeviceID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 168
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:169,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpDiscovery_get_DeviceID_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 163
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpDiscovery_get_DeviceID
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:164,31'
          Dst:             UpnpDiscovery_get_DeviceID
        - Src:             'upnp/src/api/UpnpDiscovery.c:164,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpDiscovery_get_DeviceID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 147
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpDiscovery_get_DeviceID_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpDiscovery_get_DeviceID
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:159,31'
          Dst:             UpnpDiscovery_get_DeviceID
        - Src:             'upnp/src/api/UpnpDiscovery.c:159,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpDiscovery_dup
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpDiscovery_assign
        - UpnpDiscovery_new
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:117,21'
          Dst:             UpnpDiscovery_new
        - Src:             'upnp/src/api/UpnpDiscovery.c:122,2'
          Dst:             UpnpDiscovery_assign
    - functionName:    UpnpDiscovery_new
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          62
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpString_new
        - calloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:36,30'
          Dst:             calloc
        - Src:             'upnp/src/api/UpnpDiscovery.c:43,18'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/UpnpDiscovery.c:44,20'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/UpnpDiscovery.c:45,21'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/UpnpDiscovery.c:46,20'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/UpnpDiscovery.c:47,18'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/UpnpDiscovery.c:48,12'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/UpnpDiscovery.c:49,14'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/UpnpDiscovery.c:50,13'
          Dst:             UpnpString_new
    - functionName:    UpnpDiscovery_assign
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         39
      ICount:          258
      EdgeCount:       51
      CyclomaticComplexity: 14
      functionsReached:
        - UpnpDiscovery_get_Date
        - UpnpDiscovery_get_DestAddr
        - UpnpDiscovery_get_DeviceID
        - UpnpDiscovery_get_DeviceType
        - UpnpDiscovery_get_ErrCode
        - UpnpDiscovery_get_Expires
        - UpnpDiscovery_get_Ext
        - UpnpDiscovery_get_Location
        - UpnpDiscovery_get_Os
        - UpnpDiscovery_get_ServiceType
        - UpnpDiscovery_get_ServiceVer
        - UpnpDiscovery_set_Date
        - UpnpDiscovery_set_DestAddr
        - UpnpDiscovery_set_DeviceID
        - UpnpDiscovery_set_DeviceType
        - UpnpDiscovery_set_ErrCode
        - UpnpDiscovery_set_Expires
        - UpnpDiscovery_set_Ext
        - UpnpDiscovery_set_Location
        - UpnpDiscovery_set_Os
        - UpnpDiscovery_set_ServiceType
        - UpnpDiscovery_set_ServiceVer
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:92,37'
          Dst:             UpnpDiscovery_get_ErrCode
        - Src:             'upnp/src/api/UpnpDiscovery.c:92,8'
          Dst:             UpnpDiscovery_set_ErrCode
        - Src:             'upnp/src/api/UpnpDiscovery.c:94,37'
          Dst:             UpnpDiscovery_get_Expires
        - Src:             'upnp/src/api/UpnpDiscovery.c:94,8'
          Dst:             UpnpDiscovery_set_Expires
        - Src:             'upnp/src/api/UpnpDiscovery.c:96,11'
          Dst:             UpnpDiscovery_get_DeviceID
        - Src:             'upnp/src/api/UpnpDiscovery.c:95,14'
          Dst:             UpnpDiscovery_set_DeviceID
        - Src:             'upnp/src/api/UpnpDiscovery.c:98,11'
          Dst:             UpnpDiscovery_get_DeviceType
        - Src:             'upnp/src/api/UpnpDiscovery.c:97,14'
          Dst:             UpnpDiscovery_set_DeviceType
        - Src:             'upnp/src/api/UpnpDiscovery.c:100,11'
          Dst:             UpnpDiscovery_get_ServiceType
        - Src:             'upnp/src/api/UpnpDiscovery.c:99,14'
          Dst:             UpnpDiscovery_set_ServiceType
        - Src:             'upnp/src/api/UpnpDiscovery.c:102,11'
          Dst:             UpnpDiscovery_get_ServiceVer
        - Src:             'upnp/src/api/UpnpDiscovery.c:101,14'
          Dst:             UpnpDiscovery_set_ServiceVer
        - Src:             'upnp/src/api/UpnpDiscovery.c:104,11'
          Dst:             UpnpDiscovery_get_Location
        - Src:             'upnp/src/api/UpnpDiscovery.c:103,14'
          Dst:             UpnpDiscovery_set_Location
        - Src:             'upnp/src/api/UpnpDiscovery.c:105,38'
          Dst:             UpnpDiscovery_get_Os
        - Src:             'upnp/src/api/UpnpDiscovery.c:105,14'
          Dst:             UpnpDiscovery_set_Os
        - Src:             'upnp/src/api/UpnpDiscovery.c:106,40'
          Dst:             UpnpDiscovery_get_Date
        - Src:             'upnp/src/api/UpnpDiscovery.c:106,14'
          Dst:             UpnpDiscovery_set_Date
        - Src:             'upnp/src/api/UpnpDiscovery.c:107,39'
          Dst:             UpnpDiscovery_get_Ext
        - Src:             'upnp/src/api/UpnpDiscovery.c:107,14'
          Dst:             UpnpDiscovery_set_Ext
        - Src:             'upnp/src/api/UpnpDiscovery.c:109,11'
          Dst:             UpnpDiscovery_get_DestAddr
        - Src:             'upnp/src/api/UpnpDiscovery.c:108,14'
          Dst:             UpnpDiscovery_set_DestAddr
    - functionName:    UpnpDiscovery_get_ErrCode
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpDiscovery_set_ErrCode
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpDiscovery_get_Expires
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpDiscovery_set_Expires
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpDiscovery_set_DeviceID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:152,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpDiscovery.c:154,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpDiscovery_set_DeviceType
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 191
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:189,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpDiscovery.c:191,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpDiscovery_set_ServiceType
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 225
      functionLinenumberEnd: 228
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:226,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpDiscovery.c:228,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpDiscovery_set_ServiceVer
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 262
      functionLinenumberEnd: 265
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:263,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpDiscovery.c:265,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpDiscovery_set_Location
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 299
      functionLinenumberEnd: 302
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:300,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpDiscovery.c:302,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpDiscovery_set_Os
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:337,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpDiscovery.c:339,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpDiscovery_set_Date
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 370
      functionLinenumberEnd: 373
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:371,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpDiscovery.c:373,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpDiscovery_set_Ext
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 404
      functionLinenumberEnd: 407
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:405,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpDiscovery.c:407,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpDiscovery_get_DestAddr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 434
      functionLinenumberEnd: 435
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpDiscovery_set_DestAddr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 440
      functionLinenumberEnd: 443
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpDiscovery_delete
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpDiscovery.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          94
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpString_delete
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpDiscovery.c:64,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/api/UpnpDiscovery.c:66,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/api/UpnpDiscovery.c:68,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/api/UpnpDiscovery.c:70,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/api/UpnpDiscovery.c:72,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/api/UpnpDiscovery.c:74,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/api/UpnpDiscovery.c:76,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/api/UpnpDiscovery.c:78,2'
          Dst:             UpnpString_delete
    - functionName:    UpnpEvent_clear_SID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 132
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEvent.c:132,42'
          Dst:             UpnpString_clear
    - functionName:    UpnpEvent_strncpy_SID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEvent.c:129,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpEvent_strcpy_SID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEvent.c:124,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpEvent_get_SID_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpEvent_get_SID
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEvent.c:119,31'
          Dst:             UpnpEvent_get_SID
        - Src:             'upnp/src/api/UpnpEvent.c:119,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpEvent_get_SID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpEvent_get_SID_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpEvent_get_SID
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEvent.c:114,31'
          Dst:             UpnpEvent_get_SID
        - Src:             'upnp/src/api/UpnpEvent.c:114,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpEvent_dup
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpEvent_assign
        - UpnpEvent_new
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEvent.c:72,17'
          Dst:             UpnpEvent_new
        - Src:             'upnp/src/api/UpnpEvent.c:77,2'
          Dst:             UpnpEvent_assign
    - functionName:    UpnpEvent_new
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 28
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpString_new
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEvent.c:29,26'
          Dst:             calloc
        - Src:             'upnp/src/api/UpnpEvent.c:36,13'
          Dst:             UpnpString_new
    - functionName:    UpnpEvent_assign
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 67
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          90
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - UpnpEvent_get_ChangedVariables
        - UpnpEvent_get_EventKey
        - UpnpEvent_get_SID
        - UpnpEvent_set_ChangedVariables
        - UpnpEvent_set_EventKey
        - UpnpEvent_set_SID
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEvent.c:61,40'
          Dst:             UpnpEvent_get_EventKey
        - Src:             'upnp/src/api/UpnpEvent.c:61,14'
          Dst:             UpnpEvent_set_EventKey
        - Src:             'upnp/src/api/UpnpEvent.c:63,11'
          Dst:             UpnpEvent_get_ChangedVariables
        - Src:             'upnp/src/api/UpnpEvent.c:62,14'
          Dst:             UpnpEvent_set_ChangedVariables
        - Src:             'upnp/src/api/UpnpEvent.c:64,35'
          Dst:             UpnpEvent_get_SID
        - Src:             'upnp/src/api/UpnpEvent.c:64,14'
          Dst:             UpnpEvent_set_SID
    - functionName:    UpnpEvent_get_EventKey
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpEvent_set_EventKey
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpEvent_get_ChangedVariables
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 92
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpEvent_set_ChangedVariables
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpEvent_set_SID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEvent.c:107,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpEvent.c:109,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpEvent_delete
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpString_delete
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpEvent.c:48,2'
          Dst:             UpnpString_delete
    - functionName:    UpnpExtraHeaders_get_resp_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpExtraHeaders_get_resp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:204,23'
          Dst:             UpnpExtraHeaders_get_resp
    - functionName:    UpnpExtraHeaders_get_resp
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 187
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpExtraHeaders_clear_value
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 182
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:183,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpExtraHeaders_strncpy_value
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 178
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:178,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpExtraHeaders_strcpy_value
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:173,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpExtraHeaders_get_value_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 167
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpExtraHeaders_get_value
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:168,31'
          Dst:             UpnpExtraHeaders_get_value
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:168,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpExtraHeaders_get_value
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpExtraHeaders_get_value_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 162
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpExtraHeaders_get_value
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:163,31'
          Dst:             UpnpExtraHeaders_get_value
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:163,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpExtraHeaders_clear_name
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 147
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:146,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpExtraHeaders_strncpy_name
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:141,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpExtraHeaders_strcpy_name
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:136,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpExtraHeaders_get_name_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpExtraHeaders_get_name
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:131,31'
          Dst:             UpnpExtraHeaders_get_name
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:131,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpExtraHeaders_get_name
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpExtraHeaders_get_name_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 126
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpExtraHeaders_get_name
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:126,31'
          Dst:             UpnpExtraHeaders_get_name
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:126,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpExtraHeaders_add_to_list_node
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpListEnd
        - UpnpListInsert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:109,23'
          Dst:             UpnpListEnd
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:109,2'
          Dst:             UpnpListInsert
    - functionName:    UpnpExtraHeaders_dup
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpExtraHeaders_assign
        - UpnpExtraHeaders_new
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:83,24'
          Dst:             UpnpExtraHeaders_new
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:88,2'
          Dst:             UpnpExtraHeaders_assign
    - functionName:    UpnpExtraHeaders_new
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpListInit
        - UpnpString_new
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:32,3'
          Dst:             calloc
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:37,2'
          Dst:             UpnpListInit
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:38,14'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:39,15'
          Dst:             UpnpString_new
    - functionName:    UpnpExtraHeaders_assign
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          111
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - UpnpExtraHeaders_get_name
        - UpnpExtraHeaders_get_node
        - UpnpExtraHeaders_get_resp
        - UpnpExtraHeaders_get_value
        - UpnpExtraHeaders_set_name
        - UpnpExtraHeaders_set_node
        - UpnpExtraHeaders_set_resp
        - UpnpExtraHeaders_set_value
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:69,37'
          Dst:             UpnpExtraHeaders_get_node
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:69,8'
          Dst:             UpnpExtraHeaders_set_node
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:71,37'
          Dst:             UpnpExtraHeaders_get_name
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:71,8'
          Dst:             UpnpExtraHeaders_set_name
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:73,11'
          Dst:             UpnpExtraHeaders_get_value
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:72,14'
          Dst:             UpnpExtraHeaders_set_value
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:75,37'
          Dst:             UpnpExtraHeaders_get_resp
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:75,8'
          Dst:             UpnpExtraHeaders_set_resp
    - functionName:    UpnpExtraHeaders_get_node
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpExtraHeaders_set_node
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpExtraHeaders_set_name
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:119,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:121,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpExtraHeaders_set_value
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 158
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:156,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:158,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpExtraHeaders_set_resp
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 200
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ixmlCloneDOMString
        - ixmlFreeDOMString
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:193,16'
          Dst:             ixmlCloneDOMString
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:196,2'
          Dst:             ixmlFreeDOMString
    - functionName:    UpnpExtraHeaders_delete
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpExtraHeaders.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          53
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpListInit
        - UpnpString_delete
        - ixmlFreeDOMString
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:52,2'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:54,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:56,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/api/UpnpExtraHeaders.c:58,2'
          Dst:             UpnpListInit
    - functionName:    UpnpFileInfo_clear_Os
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 248
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpFileInfo.c:248,47'
          Dst:             UpnpString_clear
    - functionName:    UpnpFileInfo_strncpy_Os
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpFileInfo.c:245,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpFileInfo_strcpy_Os
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 239
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpFileInfo.c:240,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpFileInfo_get_Os_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 234
      functionLinenumberEnd: 235
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpFileInfo_get_Os
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpFileInfo.c:235,31'
          Dst:             UpnpFileInfo_get_Os
        - Src:             'upnp/src/api/UpnpFileInfo.c:235,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpFileInfo_get_Os
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 219
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpFileInfo_get_Os_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 229
      functionLinenumberEnd: 230
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpFileInfo_get_Os
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpFileInfo.c:230,31'
          Dst:             UpnpFileInfo_get_Os
        - Src:             'upnp/src/api/UpnpFileInfo.c:230,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpFileInfo_clear_CtrlPtIPAddr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpFileInfo_add_to_list_ExtraHeadersList
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 198
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpListEnd
        - UpnpListInsert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpFileInfo.c:197,23'
          Dst:             UpnpListEnd
        - Src:             'upnp/src/api/UpnpFileInfo.c:197,2'
          Dst:             UpnpListInsert
    - functionName:    UpnpFileInfo_get_ContentType_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 178
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpFileInfo_get_ContentType
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpFileInfo.c:178,23'
          Dst:             UpnpFileInfo_get_ContentType
    - functionName:    UpnpFileInfo_get_ContentType
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 161
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpFileInfo_dup
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpFileInfo_assign
        - UpnpFileInfo_new
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpFileInfo.c:102,20'
          Dst:             UpnpFileInfo_new
        - Src:             'upnp/src/api/UpnpFileInfo.c:107,2'
          Dst:             UpnpFileInfo_assign
    - functionName:    UpnpFileInfo_new
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpListInit
        - UpnpString_new
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpFileInfo.c:37,29'
          Dst:             calloc
        - Src:             'upnp/src/api/UpnpFileInfo.c:47,2'
          Dst:             UpnpListInit
        - Src:             'upnp/src/api/UpnpFileInfo.c:49,12'
          Dst:             UpnpString_new
    - functionName:    UpnpFileInfo_assign
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          195
      EdgeCount:       39
      CyclomaticComplexity: 11
      functionsReached:
        - UpnpFileInfo_get_ContentType
        - UpnpFileInfo_get_CtrlPtIPAddr
        - UpnpFileInfo_get_ExtraHeadersList
        - UpnpFileInfo_get_FileLength
        - UpnpFileInfo_get_IsDirectory
        - UpnpFileInfo_get_IsReadable
        - UpnpFileInfo_get_LastModified
        - UpnpFileInfo_get_Os
        - UpnpFileInfo_set_ContentType
        - UpnpFileInfo_set_CtrlPtIPAddr
        - UpnpFileInfo_set_ExtraHeadersList
        - UpnpFileInfo_set_FileLength
        - UpnpFileInfo_set_IsDirectory
        - UpnpFileInfo_set_IsReadable
        - UpnpFileInfo_set_LastModified
        - UpnpFileInfo_set_Os
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpFileInfo.c:81,11'
          Dst:             UpnpFileInfo_get_FileLength
        - Src:             'upnp/src/api/UpnpFileInfo.c:80,14'
          Dst:             UpnpFileInfo_set_FileLength
        - Src:             'upnp/src/api/UpnpFileInfo.c:83,11'
          Dst:             UpnpFileInfo_get_LastModified
        - Src:             'upnp/src/api/UpnpFileInfo.c:82,14'
          Dst:             UpnpFileInfo_set_LastModified
        - Src:             'upnp/src/api/UpnpFileInfo.c:85,11'
          Dst:             UpnpFileInfo_get_IsDirectory
        - Src:             'upnp/src/api/UpnpFileInfo.c:84,14'
          Dst:             UpnpFileInfo_set_IsDirectory
        - Src:             'upnp/src/api/UpnpFileInfo.c:87,11'
          Dst:             UpnpFileInfo_get_IsReadable
        - Src:             'upnp/src/api/UpnpFileInfo.c:86,14'
          Dst:             UpnpFileInfo_set_IsReadable
        - Src:             'upnp/src/api/UpnpFileInfo.c:89,11'
          Dst:             UpnpFileInfo_get_ContentType
        - Src:             'upnp/src/api/UpnpFileInfo.c:88,14'
          Dst:             UpnpFileInfo_set_ContentType
        - Src:             'upnp/src/api/UpnpFileInfo.c:91,11'
          Dst:             UpnpFileInfo_get_ExtraHeadersList
        - Src:             'upnp/src/api/UpnpFileInfo.c:90,14'
          Dst:             UpnpFileInfo_set_ExtraHeadersList
        - Src:             'upnp/src/api/UpnpFileInfo.c:93,11'
          Dst:             UpnpFileInfo_get_CtrlPtIPAddr
        - Src:             'upnp/src/api/UpnpFileInfo.c:92,14'
          Dst:             UpnpFileInfo_set_CtrlPtIPAddr
        - Src:             'upnp/src/api/UpnpFileInfo.c:94,37'
          Dst:             UpnpFileInfo_get_Os
        - Src:             'upnp/src/api/UpnpFileInfo.c:94,14'
          Dst:             UpnpFileInfo_set_Os
    - functionName:    UpnpFileInfo_get_FileLength
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpFileInfo_set_FileLength
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpFileInfo_get_LastModified
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 126
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpFileInfo_set_LastModified
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpFileInfo_get_IsDirectory
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpFileInfo_set_IsDirectory
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpFileInfo_get_IsReadable
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpFileInfo_set_IsReadable
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 157
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpFileInfo_set_ContentType
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ixmlCloneDOMString
        - ixmlFreeDOMString
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpFileInfo.c:167,16'
          Dst:             ixmlCloneDOMString
        - Src:             'upnp/src/api/UpnpFileInfo.c:170,2'
          Dst:             ixmlFreeDOMString
    - functionName:    UpnpFileInfo_get_ExtraHeadersList
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 182
      functionLinenumberEnd: 183
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpFileInfo_set_ExtraHeadersList
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 187
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpFileInfo_get_CtrlPtIPAddr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 202
      functionLinenumberEnd: 203
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpFileInfo_set_CtrlPtIPAddr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 208
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpFileInfo_set_Os
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 222
      functionLinenumberEnd: 225
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpFileInfo.c:223,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpFileInfo.c:225,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpFileInfo_delete
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpFileInfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          61
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpListInit
        - UpnpString_delete
        - ixmlFreeDOMString
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpFileInfo.c:61,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/api/UpnpFileInfo.c:64,2'
          Dst:             UpnpListInit
        - Src:             'upnp/src/api/UpnpFileInfo.c:65,2'
          Dst:             ixmlFreeDOMString
    - functionName:    UpnpStateVarRequest_get_CurrentVal_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 337
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpStateVarRequest_get_CurrentVal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:337,23'
          Dst:             UpnpStateVarRequest_get_CurrentVal
    - functionName:    UpnpStateVarRequest_get_CurrentVal
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 317
      functionLinenumberEnd: 318
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpStateVarRequest_clear_CtrlPtIPAddr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 312
      functionLinenumberEnd: 314
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpStateVarRequest_clear_StateVarName
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 293
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:294,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpStateVarRequest_strncpy_StateVarName
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 288
      functionLinenumberEnd: 289
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:289,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpStateVarRequest_strcpy_StateVarName
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 282
      functionLinenumberEnd: 283
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:283,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpStateVarRequest_get_StateVarName_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 276
      functionLinenumberEnd: 277
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpStateVarRequest_get_StateVarName
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:277,31'
          Dst:             UpnpStateVarRequest_get_StateVarName
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:277,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpStateVarRequest_get_StateVarName
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 257
      functionLinenumberEnd: 258
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpStateVarRequest_get_StateVarName_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 270
      functionLinenumberEnd: 271
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpStateVarRequest_get_StateVarName
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:271,31'
          Dst:             UpnpStateVarRequest_get_StateVarName
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:271,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpStateVarRequest_clear_ServiceID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 251
      functionLinenumberEnd: 253
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:252,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpStateVarRequest_strncpy_ServiceID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 247
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:247,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpStateVarRequest_strcpy_ServiceID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 241
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:241,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpStateVarRequest_get_ServiceID_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 236
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpStateVarRequest_get_ServiceID
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:236,31'
          Dst:             UpnpStateVarRequest_get_ServiceID
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:236,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpStateVarRequest_get_ServiceID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 218
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpStateVarRequest_get_ServiceID_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 230
      functionLinenumberEnd: 231
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpStateVarRequest_get_ServiceID
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:231,31'
          Dst:             UpnpStateVarRequest_get_ServiceID
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:231,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpStateVarRequest_clear_DevUDN
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:212,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpStateVarRequest_strncpy_DevUDN
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:207,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpStateVarRequest_strcpy_DevUDN
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:201,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpStateVarRequest_get_DevUDN_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpStateVarRequest_get_DevUDN
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:196,31'
          Dst:             UpnpStateVarRequest_get_DevUDN
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:196,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpStateVarRequest_get_DevUDN
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpStateVarRequest_get_DevUDN_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 191
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpStateVarRequest_get_DevUDN
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:191,31'
          Dst:             UpnpStateVarRequest_get_DevUDN
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:191,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpStateVarRequest_clear_ErrStr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:174,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpStateVarRequest_strncpy_ErrStr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 168
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:169,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpStateVarRequest_strcpy_ErrStr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 162
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:163,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpStateVarRequest_get_ErrStr_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 158
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpStateVarRequest_get_ErrStr
        - UpnpString_get_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:158,31'
          Dst:             UpnpStateVarRequest_get_ErrStr
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:158,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpStateVarRequest_get_ErrStr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpStateVarRequest_get_ErrStr_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 153
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpStateVarRequest_get_ErrStr
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:153,31'
          Dst:             UpnpStateVarRequest_get_ErrStr
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:153,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpStateVarRequest_dup
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpStateVarRequest_assign
        - UpnpStateVarRequest_new
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:105,27'
          Dst:             UpnpStateVarRequest_new
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:110,2'
          Dst:             UpnpStateVarRequest_assign
    - functionName:    UpnpStateVarRequest_new
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpString_new
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:35,3'
          Dst:             calloc
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:42,16'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:43,16'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:44,19'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:45,22'
          Dst:             UpnpString_new
    - functionName:    UpnpStateVarRequest_assign
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          195
      EdgeCount:       39
      CyclomaticComplexity: 11
      functionsReached:
        - UpnpStateVarRequest_get_CtrlPtIPAddr
        - UpnpStateVarRequest_get_CurrentVal
        - UpnpStateVarRequest_get_DevUDN
        - UpnpStateVarRequest_get_ErrCode
        - UpnpStateVarRequest_get_ErrStr
        - UpnpStateVarRequest_get_ServiceID
        - UpnpStateVarRequest_get_Socket
        - UpnpStateVarRequest_get_StateVarName
        - UpnpStateVarRequest_set_CtrlPtIPAddr
        - UpnpStateVarRequest_set_CurrentVal
        - UpnpStateVarRequest_set_DevUDN
        - UpnpStateVarRequest_set_ErrCode
        - UpnpStateVarRequest_set_ErrStr
        - UpnpStateVarRequest_set_ServiceID
        - UpnpStateVarRequest_set_Socket
        - UpnpStateVarRequest_set_StateVarName
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:83,11'
          Dst:             UpnpStateVarRequest_get_ErrCode
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:82,14'
          Dst:             UpnpStateVarRequest_set_ErrCode
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:85,11'
          Dst:             UpnpStateVarRequest_get_Socket
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:84,14'
          Dst:             UpnpStateVarRequest_set_Socket
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:87,11'
          Dst:             UpnpStateVarRequest_get_ErrStr
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:86,14'
          Dst:             UpnpStateVarRequest_set_ErrStr
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:89,11'
          Dst:             UpnpStateVarRequest_get_DevUDN
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:88,14'
          Dst:             UpnpStateVarRequest_set_DevUDN
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:91,11'
          Dst:             UpnpStateVarRequest_get_ServiceID
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:90,14'
          Dst:             UpnpStateVarRequest_set_ServiceID
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:93,11'
          Dst:             UpnpStateVarRequest_get_StateVarName
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:92,14'
          Dst:             UpnpStateVarRequest_set_StateVarName
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:95,11'
          Dst:             UpnpStateVarRequest_get_CtrlPtIPAddr
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:94,14'
          Dst:             UpnpStateVarRequest_set_CtrlPtIPAddr
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:97,11'
          Dst:             UpnpStateVarRequest_get_CurrentVal
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:96,14'
          Dst:             UpnpStateVarRequest_set_CurrentVal
    - functionName:    UpnpStateVarRequest_get_ErrCode
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 117
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpStateVarRequest_set_ErrCode
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpStateVarRequest_get_Socket
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpStateVarRequest_set_Socket
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 133
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpStateVarRequest_set_ErrStr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:146,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:148,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpStateVarRequest_set_DevUDN
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 183
      functionLinenumberEnd: 186
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:184,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:186,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpStateVarRequest_set_ServiceID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 223
      functionLinenumberEnd: 226
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:224,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:226,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpStateVarRequest_set_StateVarName
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 263
      functionLinenumberEnd: 266
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:264,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:266,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpStateVarRequest_get_CtrlPtIPAddr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 299
      functionLinenumberEnd: 300
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpStateVarRequest_set_CtrlPtIPAddr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 305
      functionLinenumberEnd: 308
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpStateVarRequest_set_CurrentVal
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 332
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ixmlCloneDOMString
        - ixmlFreeDOMString
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:324,16'
          Dst:             ixmlCloneDOMString
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:328,2'
          Dst:             ixmlFreeDOMString
    - functionName:    UpnpStateVarRequest_delete
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpStateVarRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          73
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpString_delete
        - ixmlFreeDOMString
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:59,2'
          Dst:             ixmlFreeDOMString
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:62,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:64,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:66,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/api/UpnpStateVarRequest.c:68,2'
          Dst:             UpnpString_delete
    - functionName:    UpnpSubscriptionRequest_clear_SID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 212
      functionLinenumberEnd: 214
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:213,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpSubscriptionRequest_strncpy_SID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 207
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:208,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpSubscriptionRequest_strcpy_SID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:202,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpSubscriptionRequest_get_SID_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpSubscriptionRequest_get_SID
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:196,31'
          Dst:             UpnpSubscriptionRequest_get_SID
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:196,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpSubscriptionRequest_get_SID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 176
      functionLinenumberEnd: 177
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpSubscriptionRequest_get_SID_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 189
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_Length
        - UpnpSubscriptionRequest_get_SID
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:190,31'
          Dst:             UpnpSubscriptionRequest_get_SID
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:190,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpSubscriptionRequest_clear_UDN
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:171,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpSubscriptionRequest_strncpy_UDN
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 166
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:166,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpSubscriptionRequest_strcpy_UDN
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:160,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpSubscriptionRequest_get_UDN_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpSubscriptionRequest_get_UDN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:154,31'
          Dst:             UpnpSubscriptionRequest_get_UDN
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:154,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpSubscriptionRequest_get_UDN
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpSubscriptionRequest_get_UDN_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_Length
        - UpnpSubscriptionRequest_get_UDN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:148,31'
          Dst:             UpnpSubscriptionRequest_get_UDN
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:148,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpSubscriptionRequest_clear_ServiceId
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:129,2'
          Dst:             UpnpString_clear
    - functionName:    UpnpSubscriptionRequest_strncpy_ServiceId
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:124,9'
          Dst:             UpnpString_set_StringN
    - functionName:    UpnpSubscriptionRequest_strcpy_ServiceId
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:118,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpSubscriptionRequest_get_ServiceId_cstr
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpSubscriptionRequest_get_ServiceId
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:112,31'
          Dst:             UpnpSubscriptionRequest_get_ServiceId
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:112,9'
          Dst:             UpnpString_get_String
    - functionName:    UpnpSubscriptionRequest_get_ServiceId
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    UpnpSubscriptionRequest_get_ServiceId_Length
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_Length
        - UpnpSubscriptionRequest_get_ServiceId
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:106,31'
          Dst:             UpnpSubscriptionRequest_get_ServiceId
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:106,9'
          Dst:             UpnpString_get_Length
    - functionName:    UpnpSubscriptionRequest_dup
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpSubscriptionRequest_assign
        - UpnpSubscriptionRequest_new
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:79,31'
          Dst:             UpnpSubscriptionRequest_new
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:84,2'
          Dst:             UpnpSubscriptionRequest_assign
    - functionName:    UpnpSubscriptionRequest_new
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 27
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpString_new
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:29,3'
          Dst:             calloc
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:34,19'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:35,13'
          Dst:             UpnpString_new
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:36,13'
          Dst:             UpnpString_new
    - functionName:    UpnpSubscriptionRequest_assign
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          90
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - UpnpSubscriptionRequest_get_SID
        - UpnpSubscriptionRequest_get_ServiceId
        - UpnpSubscriptionRequest_get_UDN
        - UpnpSubscriptionRequest_set_SID
        - UpnpSubscriptionRequest_set_ServiceId
        - UpnpSubscriptionRequest_set_UDN
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:66,11'
          Dst:             UpnpSubscriptionRequest_get_ServiceId
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:65,14'
          Dst:             UpnpSubscriptionRequest_set_ServiceId
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:68,11'
          Dst:             UpnpSubscriptionRequest_get_UDN
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:67,14'
          Dst:             UpnpSubscriptionRequest_set_UDN
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:70,11'
          Dst:             UpnpSubscriptionRequest_get_SID
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:69,14'
          Dst:             UpnpSubscriptionRequest_set_SID
    - functionName:    UpnpSubscriptionRequest_set_ServiceId
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:98,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:100,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpSubscriptionRequest_set_UDN
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:141,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:143,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpSubscriptionRequest_set_SID
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 182
      functionLinenumberEnd: 185
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:183,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:185,9'
          Dst:             UpnpString_set_String
    - functionName:    UpnpSubscriptionRequest_delete
      functionSourceFile: '/src/pupnp/upnp/src/api/UpnpSubscriptionRequest.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpString_delete
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:49,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:51,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/api/UpnpSubscriptionRequest.c:53,2'
          Dst:             UpnpString_delete
    - functionName:    GenlibClientSubscription_clear_EventURL
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 238
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:239,2'
          Dst:             UpnpString_clear
    - functionName:    GenlibClientSubscription_strncpy_EventURL
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 233
      functionLinenumberEnd: 234
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:234,9'
          Dst:             UpnpString_set_StringN
    - functionName:    GenlibClientSubscription_strcpy_EventURL
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 227
      functionLinenumberEnd: 228
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:228,9'
          Dst:             UpnpString_set_String
    - functionName:    GenlibClientSubscription_get_EventURL_cstr
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 221
      functionLinenumberEnd: 222
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - GenlibClientSubscription_get_EventURL
        - UpnpString_get_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:222,31'
          Dst:             GenlibClientSubscription_get_EventURL
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:222,9'
          Dst:             UpnpString_get_String
    - functionName:    GenlibClientSubscription_get_EventURL
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    GenlibClientSubscription_get_EventURL_Length
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 216
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - GenlibClientSubscription_get_EventURL
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:216,31'
          Dst:             GenlibClientSubscription_get_EventURL
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:216,9'
          Dst:             UpnpString_get_Length
    - functionName:    GenlibClientSubscription_clear_ActualSID
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 197
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:196,2'
          Dst:             UpnpString_clear
    - functionName:    GenlibClientSubscription_strncpy_ActualSID
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 191
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:191,9'
          Dst:             UpnpString_set_StringN
    - functionName:    GenlibClientSubscription_strcpy_ActualSID
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 185
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:185,9'
          Dst:             UpnpString_set_String
    - functionName:    GenlibClientSubscription_get_ActualSID_cstr
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - GenlibClientSubscription_get_ActualSID
        - UpnpString_get_String
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:179,31'
          Dst:             GenlibClientSubscription_get_ActualSID
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:179,9'
          Dst:             UpnpString_get_String
    - functionName:    GenlibClientSubscription_get_ActualSID
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    GenlibClientSubscription_get_ActualSID_Length
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - GenlibClientSubscription_get_ActualSID
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:173,31'
          Dst:             GenlibClientSubscription_get_ActualSID
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:173,9'
          Dst:             UpnpString_get_Length
    - functionName:    GenlibClientSubscription_clear_SID
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:153,2'
          Dst:             UpnpString_clear
    - functionName:    GenlibClientSubscription_strncpy_SID
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_StringN
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:148,9'
          Dst:             UpnpString_set_StringN
    - functionName:    GenlibClientSubscription_strcpy_SID
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_set_String
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:142,9'
          Dst:             UpnpString_set_String
    - functionName:    GenlibClientSubscription_get_SID_cstr
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - GenlibClientSubscription_get_SID
        - UpnpString_get_String
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:136,31'
          Dst:             GenlibClientSubscription_get_SID
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:136,9'
          Dst:             UpnpString_get_String
    - functionName:    GenlibClientSubscription_get_SID
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    GenlibClientSubscription_get_SID_Length
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 129
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - GenlibClientSubscription_get_SID
        - UpnpString_get_Length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:130,31'
          Dst:             GenlibClientSubscription_get_SID
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:130,9'
          Dst:             UpnpString_get_Length
    - functionName:    GenlibClientSubscription_dup
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - GenlibClientSubscription_assign
        - GenlibClientSubscription_new
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:90,32'
          Dst:             GenlibClientSubscription_new
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:95,2'
          Dst:             GenlibClientSubscription_assign
    - functionName:    GenlibClientSubscription_new
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpString_new
        - calloc
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:31,3'
          Dst:             calloc
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:37,13'
          Dst:             UpnpString_new
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:38,19'
          Dst:             UpnpString_new
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:39,18'
          Dst:             UpnpString_new
    - functionName:    GenlibClientSubscription_assign
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 67
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          132
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - GenlibClientSubscription_get_ActualSID
        - GenlibClientSubscription_get_EventURL
        - GenlibClientSubscription_get_Next
        - GenlibClientSubscription_get_RenewEventId
        - GenlibClientSubscription_get_SID
        - GenlibClientSubscription_set_ActualSID
        - GenlibClientSubscription_set_EventURL
        - GenlibClientSubscription_set_Next
        - GenlibClientSubscription_set_RenewEventId
        - GenlibClientSubscription_set_SID
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:73,12'
          Dst:             GenlibClientSubscription_get_RenewEventId
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:72,8'
          Dst:             GenlibClientSubscription_set_RenewEventId
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:75,11'
          Dst:             GenlibClientSubscription_get_SID
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:74,14'
          Dst:             GenlibClientSubscription_set_SID
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:77,8'
          Dst:             GenlibClientSubscription_get_ActualSID
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:76,14'
          Dst:             GenlibClientSubscription_set_ActualSID
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:79,11'
          Dst:             GenlibClientSubscription_get_EventURL
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:78,14'
          Dst:             GenlibClientSubscription_set_EventURL
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:81,11'
          Dst:             GenlibClientSubscription_get_Next
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:80,14'
          Dst:             GenlibClientSubscription_set_Next
    - functionName:    GenlibClientSubscription_get_RenewEventId
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    GenlibClientSubscription_set_RenewEventId
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    GenlibClientSubscription_set_SID
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:122,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:124,9'
          Dst:             UpnpString_set_String
    - functionName:    GenlibClientSubscription_set_ActualSID
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:165,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:167,9'
          Dst:             UpnpString_set_String
    - functionName:    GenlibClientSubscription_set_EventURL
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 207
      functionLinenumberEnd: 210
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpString_get_String
        - UpnpString_set_String
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:208,18'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:210,9'
          Dst:             UpnpString_set_String
    - functionName:    GenlibClientSubscription_get_Next
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    GenlibClientSubscription_set_Next
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 250
      functionLinenumberEnd: 253
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    GenlibClientSubscription_delete
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/GenlibClientSubscription.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          56
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpString_delete
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:54,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:56,2'
          Dst:             UpnpString_delete
        - Src:             'upnp/src/genlib/client_table/GenlibClientSubscription.c:58,2'
          Dst:             UpnpString_delete
    - functionName:    GetClientSubActualSID
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/client_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          51
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - GenlibClientSubscription_get_ActualSID_cstr
        - GenlibClientSubscription_get_Next
        - memcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/client_table.c:106,15'
          Dst:             GenlibClientSubscription_get_ActualSID_cstr
        - Src:             'upnp/src/genlib/client_table/client_table.c:106,8'
          Dst:             memcmp
        - Src:             'upnp/src/genlib/client_table/client_table.c:111,11'
          Dst:             GenlibClientSubscription_get_Next
    - functionName:    GetClientSubClientSID
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/client_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          55
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - GenlibClientSubscription_get_Next
        - GenlibClientSubscription_get_SID_cstr
        - UpnpString_get_String
        - strcmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/client_table.c:89,19'
          Dst:             GenlibClientSubscription_get_SID_cstr
        - Src:             'upnp/src/genlib/client_table/client_table.c:90,4'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/genlib/client_table/client_table.c:89,12'
          Dst:             strcmp
        - Src:             'upnp/src/genlib/client_table/client_table.c:94,11'
          Dst:             GenlibClientSubscription_get_Next
    - functionName:    RemoveClientSubClientSID
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/client_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          79
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - GenlibClientSubscription_get_Next
        - GenlibClientSubscription_get_SID_cstr
        - GenlibClientSubscription_set_Next
        - UpnpString_get_String
        - freeClientSubList
        - strcmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/client_table.c:62,19'
          Dst:             UpnpString_get_String
        - Src:             'upnp/src/genlib/client_table/client_table.c:63,4'
          Dst:             GenlibClientSubscription_get_SID_cstr
        - Src:             'upnp/src/genlib/client_table/client_table.c:62,12'
          Dst:             strcmp
        - Src:             'upnp/src/genlib/client_table/client_table.c:67,6'
          Dst:             GenlibClientSubscription_get_Next
        - Src:             'upnp/src/genlib/client_table/client_table.c:66,5'
          Dst:             GenlibClientSubscription_set_Next
        - Src:             'upnp/src/genlib/client_table/client_table.c:70,13'
          Dst:             GenlibClientSubscription_get_Next
        - Src:             'upnp/src/genlib/client_table/client_table.c:73,4'
          Dst:             GenlibClientSubscription_set_Next
        - Src:             'upnp/src/genlib/client_table/client_table.c:74,4'
          Dst:             freeClientSubList
        - Src:             'upnp/src/genlib/client_table/client_table.c:78,13'
          Dst:             GenlibClientSubscription_get_Next
    - functionName:    freeClientSubList
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/client_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - GenlibClientSubscription_delete
        - GenlibClientSubscription_get_Next
        - free_client_subscription
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/client_table.c:48,3'
          Dst:             free_client_subscription
        - Src:             'upnp/src/genlib/client_table/client_table.c:49,10'
          Dst:             GenlibClientSubscription_get_Next
        - Src:             'upnp/src/genlib/client_table/client_table.c:50,3'
          Dst:             GenlibClientSubscription_delete
    - functionName:    free_client_subscription
      functionSourceFile: '/src/pupnp/upnp/src/genlib/client_table/client_table.c'
      linkageType:     InternalLinkage
      functionLinenumber: 24
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          61
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - GenlibClientSubscription_get_RenewEventId
        - GenlibClientSubscription_set_RenewEventId
        - GenlibClientSubscription_strcpy_ActualSID
        - GenlibClientSubscription_strcpy_EventURL
        - TimerThreadRemove
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/client_table/client_table.c:28,4'
          Dst:             GenlibClientSubscription_get_RenewEventId
        - Src:             'upnp/src/genlib/client_table/client_table.c:29,3'
          Dst:             GenlibClientSubscription_strcpy_ActualSID
        - Src:             'upnp/src/genlib/client_table/client_table.c:30,3'
          Dst:             GenlibClientSubscription_strcpy_EventURL
        - Src:             'upnp/src/genlib/client_table/client_table.c:34,8'
          Dst:             TimerThreadRemove
        - Src:             'upnp/src/genlib/client_table/client_table.c:40,3'
          Dst:             GenlibClientSubscription_set_RenewEventId
    - functionName:    has_xml_content_type
      functionSourceFile: '/src/pupnp/upnp/src/genlib/net/http/parsetools.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 62
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          53
      EdgeCount:       13
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - httpmsg_find_hdr
        - matchstr
      functionUses:    3
      BranchProfiles:
        - Branch String:   'upnp/src/genlib/net/http/parsetools.c:53,3'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/genlib/net/http/parsetools.c:49,2'
          Dst:             __assert_fail
        - Src:             'upnp/src/genlib/net/http/parsetools.c:52,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/genlib/net/http/parsetools.c:53,11'
          Dst:             matchstr
    - functionName:    linecopylen
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strncpy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/util/util.c:67,2'
          Dst:             strncpy
    - functionName:    namecopy
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strncpy
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/util/util.c:56,2'
          Dst:             strncpy
    - functionName:    linecopy
      functionSourceFile: '/src/pupnp/upnp/src/genlib/util/util.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strncpy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/genlib/util/util.c:49,2'
          Dst:             strncpy
    - functionName:    SSDPResultData_dup
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/SSDPResultData.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - SSDPResultData_assign
        - SSDPResultData_new
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/SSDPResultData.c:74,22'
          Dst:             SSDPResultData_new
        - Src:             'upnp/src/ssdp/SSDPResultData.c:79,2'
          Dst:             SSDPResultData_assign
    - functionName:    SSDPResultData_new
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/SSDPResultData.c'
      linkageType:     InternalLinkage
      functionLinenumber: 28
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpDiscovery_new
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/SSDPResultData.c:29,31'
          Dst:             calloc
        - Src:             'upnp/src/ssdp/SSDPResultData.c:34,15'
          Dst:             UpnpDiscovery_new
    - functionName:    SSDPResultData_assign
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/SSDPResultData.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          90
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - SSDPResultData_get_Cookie
        - SSDPResultData_get_CtrlptCallback
        - SSDPResultData_get_Param
        - SSDPResultData_set_Cookie
        - SSDPResultData_set_CtrlptCallback
        - SSDPResultData_set_Param
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/SSDPResultData.c:62,36'
          Dst:             SSDPResultData_get_Param
        - Src:             'upnp/src/ssdp/SSDPResultData.c:62,8'
          Dst:             SSDPResultData_set_Param
        - Src:             'upnp/src/ssdp/SSDPResultData.c:64,37'
          Dst:             SSDPResultData_get_Cookie
        - Src:             'upnp/src/ssdp/SSDPResultData.c:64,8'
          Dst:             SSDPResultData_set_Cookie
        - Src:             'upnp/src/ssdp/SSDPResultData.c:66,11'
          Dst:             SSDPResultData_get_CtrlptCallback
        - Src:             'upnp/src/ssdp/SSDPResultData.c:65,14'
          Dst:             SSDPResultData_set_CtrlptCallback
    - functionName:    SSDPResultData_get_Param
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/SSDPResultData.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSDPResultData_set_Param
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/SSDPResultData.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpDiscovery_delete
        - UpnpDiscovery_dup
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/SSDPResultData.c:91,21'
          Dst:             UpnpDiscovery_dup
        - Src:             'upnp/src/ssdp/SSDPResultData.c:94,2'
          Dst:             UpnpDiscovery_delete
    - functionName:    SSDPResultData_get_Cookie
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/SSDPResultData.c'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSDPResultData_set_Cookie
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/SSDPResultData.c'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSDPResultData_get_CtrlptCallback
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/SSDPResultData.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSDPResultData_set_CtrlptCallback
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/SSDPResultData.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSDPResultData_delete
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/SSDPResultData.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - UpnpDiscovery_delete
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/SSDPResultData.c:50,2'
          Dst:             UpnpDiscovery_delete
    - functionName:    SSDPResultData_Callback
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/SSDPResultDataCallback.c'
      linkageType:     InternalLinkage
      functionLinenumber: 15
      functionLinenumberEnd: 20
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SSDPResultData_get_Cookie
        - SSDPResultData_get_CtrlptCallback
        - SSDPResultData_get_Param
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/SSDPResultDataCallback.c:16,25'
          Dst:             SSDPResultData_get_CtrlptCallback
        - Src:             'upnp/src/ssdp/SSDPResultDataCallback.c:18,3'
          Dst:             SSDPResultData_get_Param
        - Src:             'upnp/src/ssdp/SSDPResultDataCallback.c:19,3'
          Dst:             SSDPResultData_get_Cookie
    - functionName:    ProcessSocketError
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 208
      functionLinenumberEnd: 220
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpPrintf
        - __errno_location
        - __xpg_strerror_r
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_device.c:211,13'
          Dst:             __errno_location
        - Src:             'upnp/src/ssdp/ssdp_device.c:211,2'
          Dst:             __xpg_strerror_r
        - Src:             'upnp/src/ssdp/ssdp_device.c:212,2'
          Dst:             UpnpPrintf
    - functionName:    SendToCaller
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 248
      functionLinenumberEnd: 377
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          251
      EdgeCount:       56
      CyclomaticComplexity: 11
      functionsReached:
        - ProcessSocketError
        - UpnpPrintf
        - bind
        - close
        - inet_ntop
        - sendto
        - setsockopt
        - socket
        - strlen
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/ssdp/ssdp_device.c:292,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_device.c:263,14'
          Dst:             socket
        - Src:             'upnp/src/ssdp/ssdp_device.c:265,3'
          Dst:             ProcessSocketError
        - Src:             'upnp/src/ssdp/ssdp_device.c:269,7'
          Dst:             setsockopt
        - Src:             'upnp/src/ssdp/ssdp_device.c:274,2'
          Dst:             ProcessSocketError
        - Src:             'upnp/src/ssdp/ssdp_device.c:279,7'
          Dst:             setsockopt
        - Src:             'upnp/src/ssdp/ssdp_device.c:284,2'
          Dst:             ProcessSocketError
        - Src:             'upnp/src/ssdp/ssdp_device.c:288,11'
          Dst:             bind
        - Src:             'upnp/src/ssdp/ssdp_device.c:289,2'
          Dst:             ProcessSocketError
        - Src:             'upnp/src/ssdp/ssdp_device.c:294,3'
          Dst:             inet_ntop
        - Src:             'upnp/src/ssdp/ssdp_device.c:298,8'
          Dst:             setsockopt
        - Src:             'upnp/src/ssdp/ssdp_device.c:303,3'
          Dst:             ProcessSocketError
        - Src:             'upnp/src/ssdp/ssdp_device.c:308,8'
          Dst:             setsockopt
        - Src:             'upnp/src/ssdp/ssdp_device.c:313,3'
          Dst:             ProcessSocketError
        - Src:             'upnp/src/ssdp/ssdp_device.c:322,3'
          Dst:             inet_ntop
        - Src:             'upnp/src/ssdp/ssdp_device.c:326,8'
          Dst:             setsockopt
        - Src:             'upnp/src/ssdp/ssdp_device.c:331,3'
          Dst:             ProcessSocketError
        - Src:             'upnp/src/ssdp/ssdp_device.c:336,8'
          Dst:             setsockopt
        - Src:             'upnp/src/ssdp/ssdp_device.c:341,3'
          Dst:             ProcessSocketError
        - Src:             'upnp/src/ssdp/ssdp_device.c:352,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:361,4'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_device.c:359,12'
          Dst:             sendto
        - Src:             'upnp/src/ssdp/ssdp_device.c:365,3'
          Dst:             ProcessSocketError
        - Src:             'upnp/src/ssdp/ssdp_device.c:373,2'
          Dst:             close
    - functionName:    extractIPv6address
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 464
      functionLinenumberEnd: 493
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          151
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    HandleWriteLock
      functionSourceFile: '/src/pupnp/upnp/src/inc/upnpapi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpPrintf
        - pthread_rwlock_wrlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/upnpapi.h:160,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/inc/upnpapi.h:161,2'
          Dst:             pthread_rwlock_wrlock
        - Src:             'upnp/src/inc/upnpapi.h:162,2'
          Dst:             UpnpPrintf
    - functionName:    DeviceShutdown
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1355
      functionLinenumberEnd: 1459
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          251
      EdgeCount:       43
      CyclomaticComplexity: 11
      functionsReached:
        - CreateServicePacket
        - NewRequestHandler
        - UpnpPrintf
        - htons
        - inet_pton
        - isUrlV6UlaGua
        - snprintf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/ssdp/ssdp_device.c:1368,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_device.c:1371,3'
          Dst:             inet_pton
        - Src:             'upnp/src/ssdp/ssdp_device.c:1372,25'
          Dst:             htons
        - Src:             'upnp/src/ssdp/ssdp_device.c:1377,5'
          Dst:             isUrlV6UlaGua
        - Src:             'upnp/src/ssdp/ssdp_device.c:1376,3'
          Dst:             inet_pton
        - Src:             'upnp/src/ssdp/ssdp_device.c:1380,26'
          Dst:             htons
        - Src:             'upnp/src/ssdp/ssdp_device.c:1384,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:1392,8'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:1396,3'
          Dst:             CreateServicePacket
        - Src:             'upnp/src/ssdp/ssdp_device.c:1407,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:1413,2'
          Dst:             CreateServicePacket
        - Src:             'upnp/src/ssdp/ssdp_device.c:1423,7'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:1426,2'
          Dst:             CreateServicePacket
        - Src:             'upnp/src/ssdp/ssdp_device.c:1444,14'
          Dst:             NewRequestHandler
        - Src:             'upnp/src/ssdp/ssdp_device.c:1449,14'
          Dst:             NewRequestHandler
    - functionName:    isUrlV6UlaGua
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 502
      functionLinenumberEnd: 512
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          54
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - extractIPv6address
        - htonl
        - inet_pton
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_device.c:506,6'
          Dst:             extractIPv6address
        - Src:             'upnp/src/ssdp/ssdp_device.c:507,3'
          Dst:             inet_pton
        - Src:             'upnp/src/ssdp/ssdp_device.c:508,11'
          Dst:             htonl
        - Src:             'upnp/src/ssdp/ssdp_device.c:508,11'
          Dst:             htonl
    - functionName:    CreateServicePacket
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 541
      functionLinenumberEnd: 870
      functionDepth:   0
      returnType:      void
      argCount:        10
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          193
      EdgeCount:       39
      CyclomaticComplexity: 9
      functionsReached:
        - __assert_fail
        - http_MakeMessage
        - isUrlV6UlaGua
        - membuffer_destroy
        - membuffer_detach
        - membuffer_init
      functionUses:    15
      BranchProfiles:
        - Branch String:   'upnp/src/ssdp/ssdp_device.c:695,3'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_device.c:549,2'
          Dst:             membuffer_init
        - Src:             'upnp/src/ssdp/ssdp_device.c:555,15'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/ssdp/ssdp_device.c:627,15'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/ssdp/ssdp_device.c:700,8'
          Dst:             isUrlV6UlaGua
        - Src:             'upnp/src/ssdp/ssdp_device.c:707,15'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/ssdp/ssdp_device.c:793,15'
          Dst:             http_MakeMessage
        - Src:             'upnp/src/ssdp/ssdp_device.c:864,3'
          Dst:             __assert_fail
        - Src:             'upnp/src/ssdp/ssdp_device.c:866,12'
          Dst:             membuffer_detach
        - Src:             'upnp/src/ssdp/ssdp_device.c:867,2'
          Dst:             membuffer_destroy
    - functionName:    NewRequestHandler
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 393
      functionLinenumberEnd: 456
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          148
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - SendToCaller
        - UpnpPrintf
        - freeaddrinfo
        - gai_strerror
        - getaddrinfo
        - inet_pton
        - strlen
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_device.c:399,6'
          Dst:             strlen
        - Src:             'upnp/src/ssdp/ssdp_device.c:400,4'
          Dst:             inet_pton
        - Src:             'upnp/src/ssdp/ssdp_device.c:419,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:432,12'
          Dst:             getaddrinfo
        - Src:             'upnp/src/ssdp/ssdp_device.c:439,4'
          Dst:             gai_strerror
        - Src:             'upnp/src/ssdp/ssdp_device.c:433,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:445,7'
          Dst:             SendToCaller
        - Src:             'upnp/src/ssdp/ssdp_device.c:451,2'
          Dst:             freeaddrinfo
    - functionName:    gai_strerror
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ServiceShutdown
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1287
      functionLinenumberEnd: 1343
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          144
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - CreateServicePacket
        - NewRequestHandler
        - UpnpPrintf
        - htons
        - inet_pton
        - isUrlV6UlaGua
        - snprintf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/ssdp/ssdp_device.c:1298,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_device.c:1301,3'
          Dst:             inet_pton
        - Src:             'upnp/src/ssdp/ssdp_device.c:1302,25'
          Dst:             htons
        - Src:             'upnp/src/ssdp/ssdp_device.c:1307,5'
          Dst:             isUrlV6UlaGua
        - Src:             'upnp/src/ssdp/ssdp_device.c:1306,3'
          Dst:             inet_pton
        - Src:             'upnp/src/ssdp/ssdp_device.c:1310,26'
          Dst:             htons
        - Src:             'upnp/src/ssdp/ssdp_device.c:1314,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:1321,7'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:1326,2'
          Dst:             CreateServicePacket
        - Src:             'upnp/src/ssdp/ssdp_device.c:1338,11'
          Dst:             NewRequestHandler
    - functionName:    ServiceReply
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1249
      functionLinenumberEnd: 1276
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          91
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - CreateServicePacket
        - NewRequestHandler
        - snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_device.c:1256,7'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:1259,2'
          Dst:             CreateServicePacket
        - Src:             'upnp/src/ssdp/ssdp_device.c:1271,11'
          Dst:             NewRequestHandler
    - functionName:    ServiceAdvertisement
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1182
      functionLinenumberEnd: 1238
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          144
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - CreateServicePacket
        - NewRequestHandler
        - UpnpPrintf
        - htons
        - inet_pton
        - isUrlV6UlaGua
        - snprintf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/ssdp/ssdp_device.c:1193,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_device.c:1196,3'
          Dst:             inet_pton
        - Src:             'upnp/src/ssdp/ssdp_device.c:1197,25'
          Dst:             htons
        - Src:             'upnp/src/ssdp/ssdp_device.c:1202,5'
          Dst:             isUrlV6UlaGua
        - Src:             'upnp/src/ssdp/ssdp_device.c:1201,3'
          Dst:             inet_pton
        - Src:             'upnp/src/ssdp/ssdp_device.c:1205,26'
          Dst:             htons
        - Src:             'upnp/src/ssdp/ssdp_device.c:1209,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:1215,7'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:1220,2'
          Dst:             CreateServicePacket
        - Src:             'upnp/src/ssdp/ssdp_device.c:1233,11'
          Dst:             NewRequestHandler
    - functionName:    DeviceReply
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1093
      functionLinenumberEnd: 1171
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          276
      EdgeCount:       61
      CyclomaticComplexity: 18
      functionsReached:
        - CreateServicePacket
        - NewRequestHandler
        - snprintf
        - strncpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_device.c:1105,3'
          Dst:             strncpy
        - Src:             'upnp/src/ssdp/ssdp_device.c:1106,8'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:1110,3'
          Dst:             CreateServicePacket
        - Src:             'upnp/src/ssdp/ssdp_device.c:1121,7'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:1124,7'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:1127,2'
          Dst:             CreateServicePacket
        - Src:             'upnp/src/ssdp/ssdp_device.c:1137,7'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:1140,7'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:1143,2'
          Dst:             CreateServicePacket
        - Src:             'upnp/src/ssdp/ssdp_device.c:1160,12'
          Dst:             NewRequestHandler
        - Src:             'upnp/src/ssdp/ssdp_device.c:1162,12'
          Dst:             NewRequestHandler
    - functionName:    SendReply
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1002
      functionLinenumberEnd: 1081
      functionDepth:   0
      returnType:      int
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          221
      EdgeCount:       43
      CyclomaticComplexity: 12
      functionsReached:
        - CreateServicePacket
        - NewRequestHandler
        - snprintf
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_device.c:1016,8'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:1020,3'
          Dst:             CreateServicePacket
        - Src:             'upnp/src/ssdp/ssdp_device.c:1036,4'
          Dst:             CreateServicePacket
        - Src:             'upnp/src/ssdp/ssdp_device.c:1047,9'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:1054,4'
          Dst:             CreateServicePacket
        - Src:             'upnp/src/ssdp/ssdp_device.c:1073,13'
          Dst:             NewRequestHandler
    - functionName:    DeviceAdvertisement
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 881
      functionLinenumberEnd: 989
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          248
      EdgeCount:       43
      CyclomaticComplexity: 11
      functionsReached:
        - CreateServicePacket
        - NewRequestHandler
        - UpnpPrintf
        - htons
        - inet_pton
        - isUrlV6UlaGua
        - snprintf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/ssdp/ssdp_device.c:900,2'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_device.c:891,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:903,3'
          Dst:             inet_pton
        - Src:             'upnp/src/ssdp/ssdp_device.c:904,25'
          Dst:             htons
        - Src:             'upnp/src/ssdp/ssdp_device.c:909,5'
          Dst:             isUrlV6UlaGua
        - Src:             'upnp/src/ssdp/ssdp_device.c:908,3'
          Dst:             inet_pton
        - Src:             'upnp/src/ssdp/ssdp_device.c:912,26'
          Dst:             htons
        - Src:             'upnp/src/ssdp/ssdp_device.c:916,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:927,8'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:931,3'
          Dst:             CreateServicePacket
        - Src:             'upnp/src/ssdp/ssdp_device.c:943,2'
          Dst:             CreateServicePacket
        - Src:             'upnp/src/ssdp/ssdp_device.c:953,7'
          Dst:             snprintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:956,2'
          Dst:             CreateServicePacket
        - Src:             'upnp/src/ssdp/ssdp_device.c:974,14'
          Dst:             NewRequestHandler
        - Src:             'upnp/src/ssdp/ssdp_device.c:979,14'
          Dst:             NewRequestHandler
    - functionName:    HandleUnlock
      functionSourceFile: '/src/pupnp/upnp/src/inc/upnpapi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - UpnpPrintf
        - pthread_rwlock_unlock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/upnpapi.h:146,2'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/inc/upnpapi.h:147,2'
          Dst:             pthread_rwlock_unlock
        - Src:             'upnp/src/inc/upnpapi.h:148,2'
          Dst:             UpnpPrintf
    - functionName:    HandleLock
      functionSourceFile: '/src/pupnp/upnp/src/inc/upnpapi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - HandleWriteLock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/inc/upnpapi.h:167,2'
          Dst:             HandleWriteLock
    - functionName:    ssdp_handle_device_request
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 203
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          220
      EdgeCount:       42
      CyclomaticComplexity: 11
      functionsReached:
        - GetDeviceHandleInfo
        - HandleLock
        - HandleUnlock
        - TPJobInit
        - TPJobSetFreeFunction
        - TimerThreadSchedule
        - UpnpPrintf
        - advertiseAndReplyThread
        - httpmsg_find_hdr
        - memptr_cmp
        - rand
        - raw_to_int
        - ssdp_request_type
      functionUses:    1
      BranchProfiles:
        - Branch String:   'upnp/src/ssdp/ssdp_device.c:132,3'
          Branch Sides:    []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_device.c:108,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/ssdp/ssdp_device.c:109,3'
          Dst:             memptr_cmp
        - Src:             'upnp/src/ssdp/ssdp_device.c:113,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/ssdp/ssdp_device.c:114,9'
          Dst:             raw_to_int
        - Src:             'upnp/src/ssdp/ssdp_device.c:117,6'
          Dst:             httpmsg_find_hdr
        - Src:             'upnp/src/ssdp/ssdp_device.c:121,13'
          Dst:             ssdp_request_type
        - Src:             'upnp/src/ssdp/ssdp_device.c:130,3'
          Dst:             HandleLock
        - Src:             'upnp/src/ssdp/ssdp_device.c:132,11'
          Dst:             GetDeviceHandleInfo
        - Src:             'upnp/src/ssdp/ssdp_device.c:137,4'
          Dst:             HandleUnlock
        - Src:             'upnp/src/ssdp/ssdp_device.c:142,3'
          Dst:             HandleUnlock
        - Src:             'upnp/src/ssdp/ssdp_device.c:144,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:150,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:156,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:162,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:168,3'
          Dst:             UpnpPrintf
        - Src:             'upnp/src/ssdp/ssdp_device.c:184,3'
          Dst:             TPJobInit
        - Src:             'upnp/src/ssdp/ssdp_device.c:184,3'
          Dst:             advertiseAndReplyThread
        - Src:             'upnp/src/ssdp/ssdp_device.c:185,3'
          Dst:             TPJobSetFreeFunction
        - Src:             'upnp/src/ssdp/ssdp_device.c:194,15'
          Dst:             rand
        - Src:             'upnp/src/ssdp/ssdp_device.c:195,3'
          Dst:             TimerThreadSchedule
    - functionName:    advertiseAndReplyThread
      functionSourceFile: '/src/pupnp/upnp/src/ssdp/ssdp_device.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          43
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - AdvertiseAndReply
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/ssdp/ssdp_device.c:77,2'
          Dst:             AdvertiseAndReply
    - functionName:    MD5Final
      functionSourceFile: '/src/pupnp/upnp/src/uuid/md5.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         38
      ICount:          222
      EdgeCount:       40
      CyclomaticComplexity: 4
      functionsReached:
        - MD5Update
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/uuid/md5.c:184,2'
          Dst:             MD5Update
        - Src:             'upnp/src/uuid/md5.c:185,2'
          Dst:             MD5Update
    - functionName:    MD5Update
      functionSourceFile: '/src/pupnp/upnp/src/uuid/md5.c'
      linkageType:     InternalLinkage
      functionLinenumber: 133
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          126
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - MD5Transform
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/uuid/md5.c:147,4'
          Dst:             MD5Transform
        - Src:             'upnp/src/uuid/md5.c:155,4'
          Dst:             MD5Transform
    - functionName:    MD5Transform
      functionSourceFile: '/src/pupnp/upnp/src/uuid/md5.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 301
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          1544
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    MD5Init
      functionSourceFile: '/src/pupnp/upnp/src/uuid/md5.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 126
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          25
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_system_time
      functionSourceFile: '/src/pupnp/upnp/src/uuid/sysdep.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - gettimeofday
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/uuid/sysdep.c:98,2'
          Dst:             gettimeofday
    - functionName:    get_random_info
      functionSourceFile: '/src/pupnp/upnp/src/uuid/sysdep.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - MD5Final
        - MD5Init
        - MD5Update
        - gethostname
        - gettimeofday
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/uuid/sysdep.c:123,2'
          Dst:             gettimeofday
        - Src:             'upnp/src/uuid/sysdep.c:124,2'
          Dst:             gethostname
        - Src:             'upnp/src/uuid/sysdep.c:127,2'
          Dst:             MD5Init
        - Src:             'upnp/src/uuid/sysdep.c:128,2'
          Dst:             MD5Update
        - Src:             'upnp/src/uuid/sysdep.c:129,2'
          Dst:             MD5Final
    - functionName:    gethostname
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_ieee_node_identifier
      functionSourceFile: '/src/pupnp/upnp/src/uuid/sysdep.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - get_random_info
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'upnp/src/uuid/sysdep.c:47,3'
          Dst:             get_random_info
    - functionName:    ixmlDocument_getElementById
      functionSourceFile: '/src/pupnp/ixml/src/document.c'
      linkageType:     InternalLinkage
      functionLinenumber: 509
      functionLinenumberEnd: 553
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          123
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - ixmlDocument_getElementById
        - ixmlNode_getFirstChild
        - ixmlNode_getNextSibling
        - ixmlNode_getNodeName
        - ixmlNode_getNodeType
        - strcmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/document.c:518,6'
          Dst:             ixmlNode_getNodeType
        - Src:             'ixml/src/document.c:519,10'
          Dst:             ixmlNode_getNodeName
        - Src:             'ixml/src/document.c:524,7'
          Dst:             strcmp
        - Src:             'ixml/src/document.c:529,22'
          Dst:             ixmlNode_getFirstChild
        - Src:             'ixml/src/document.c:528,16'
          Dst:             ixmlDocument_getElementById
        - Src:             'ixml/src/document.c:535,7'
          Dst:             ixmlNode_getNextSibling
        - Src:             'ixml/src/document.c:533,17'
          Dst:             ixmlDocument_getElementById
        - Src:             'ixml/src/document.c:542,21'
          Dst:             ixmlNode_getFirstChild
        - Src:             'ixml/src/document.c:541,15'
          Dst:             ixmlDocument_getElementById
        - Src:             'ixml/src/document.c:546,22'
          Dst:             ixmlNode_getNextSibling
        - Src:             'ixml/src/document.c:545,16'
          Dst:             ixmlDocument_getElementById
    - functionName:    ixmlDocument_getElementsByTagNameNS
      functionSourceFile: '/src/pupnp/ixml/src/document.c'
      linkageType:     InternalLinkage
      functionLinenumber: 494
      functionLinenumberEnd: 505
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          54
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - ixmlNode_getElementsByTagNameNS
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/document.c:501,2'
          Dst:             ixmlNode_getElementsByTagNameNS
    - functionName:    ixmlDocument_getElementsByTagName
      functionSourceFile: '/src/pupnp/ixml/src/document.c'
      linkageType:     InternalLinkage
      functionLinenumber: 478
      functionLinenumberEnd: 489
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          44
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ixmlNode_getElementsByTagName
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/document.c:485,2'
          Dst:             ixmlNode_getElementsByTagName
    - functionName:    ixmlDocument_createElementNS
      functionSourceFile: '/src/pupnp/ixml/src/document.c'
      linkageType:     InternalLinkage
      functionLinenumber: 467
      functionLinenumberEnd: 473
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ixmlDocument_createElementNSEx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/document.c:470,2'
          Dst:             ixmlDocument_createElementNSEx
    - functionName:    ixmlDocument_createElementNSEx
      functionSourceFile: '/src/pupnp/ixml/src/document.c'
      linkageType:     InternalLinkage
      functionLinenumber: 414
      functionLinenumberEnd: 461
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          127
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - IxmlPrintf
        - ixmlDocument_createElementEx
        - ixmlElement_free
        - ixmlNode_setNodeName
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/document.c:425,8'
          Dst:             ixmlDocument_createElementEx
        - Src:             'ixml/src/document.c:431,31'
          Dst:             strdup
        - Src:             'ixml/src/document.c:434,3'
          Dst:             ixmlElement_free
        - Src:             'ixml/src/document.c:440,8'
          Dst:             ixmlNode_setNodeName
        - Src:             'ixml/src/document.c:443,3'
          Dst:             ixmlElement_free
        - Src:             'ixml/src/document.c:454,3'
          Dst:             IxmlPrintf
    - functionName:    ixmlDocument_createElementEx
      functionSourceFile: '/src/pupnp/ixml/src/document.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          108
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - ixmlElement_free
        - ixmlElement_init
        - strdup
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/document.c:124,2'
          Dst:             ixmlElement_init
        - Src:             'ixml/src/document.c:125,24'
          Dst:             strdup
        - Src:             'ixml/src/document.c:127,3'
          Dst:             ixmlElement_free
        - Src:             'ixml/src/document.c:134,27'
          Dst:             strdup
        - Src:             'ixml/src/document.c:137,3'
          Dst:             ixmlElement_free
    - functionName:    ixmlDocument_createCDATASection
      functionSourceFile: '/src/pupnp/ixml/src/document.c'
      linkageType:     InternalLinkage
      functionLinenumber: 402
      functionLinenumberEnd: 407
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ixmlDocument_createCDATASectionEx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/document.c:405,2'
          Dst:             ixmlDocument_createCDATASectionEx
    - functionName:    ixmlDocument_createCDATASectionEx
      functionSourceFile: '/src/pupnp/ixml/src/document.c'
      linkageType:     InternalLinkage
      functionLinenumber: 360
      functionLinenumberEnd: 397
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          105
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - ixmlCDATASection_free
        - ixmlCDATASection_init
        - strdup
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/document.c:375,2'
          Dst:             ixmlCDATASection_init
        - Src:             'ixml/src/document.c:377,30'
          Dst:             strdup
        - Src:             'ixml/src/document.c:379,3'
          Dst:             ixmlCDATASection_free
        - Src:             'ixml/src/document.c:385,31'
          Dst:             strdup
        - Src:             'ixml/src/document.c:387,3'
          Dst:             ixmlCDATASection_free
    - functionName:    ixmlDocument_createAttributeNS
      functionSourceFile: '/src/pupnp/ixml/src/document.c'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 355
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ixmlDocument_createAttributeNSEx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/document.c:352,2'
          Dst:             ixmlDocument_createAttributeNSEx
    - functionName:    ixmlDocument_createAttributeNSEx
      functionSourceFile: '/src/pupnp/ixml/src/document.c'
      linkageType:     InternalLinkage
      functionLinenumber: 312
      functionLinenumberEnd: 343
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          101
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - ixmlAttr_free
        - ixmlDocument_createAttributeEx
        - ixmlNode_setNodeName
        - strdup
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/document.c:321,12'
          Dst:             ixmlDocument_createAttributeEx
        - Src:             'ixml/src/document.c:326,29'
          Dst:             strdup
        - Src:             'ixml/src/document.c:328,3'
          Dst:             ixmlAttr_free
        - Src:             'ixml/src/document.c:334,12'
          Dst:             ixmlNode_setNodeName
        - Src:             'ixml/src/document.c:336,3'
          Dst:             ixmlAttr_free
    - functionName:    ixmlDocument_createAttributeEx
      functionSourceFile: '/src/pupnp/ixml/src/document.c'
      linkageType:     InternalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 293
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          86
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - ixmlAttr_free
        - ixmlAttr_init
        - strdup
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/document.c:279,2'
          Dst:             ixmlAttr_init
        - Src:             'ixml/src/document.c:282,25'
          Dst:             strdup
        - Src:             'ixml/src/document.c:284,3'
          Dst:             ixmlAttr_free
    - functionName:    ixmlDocument_createAttribute
      functionSourceFile: '/src/pupnp/ixml/src/document.c'
      linkageType:     InternalLinkage
      functionLinenumber: 298
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ixmlDocument_createAttributeEx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/document.c:301,6'
          Dst:             ixmlDocument_createAttributeEx
    - functionName:    ixmlDocument_createTextNode
      functionSourceFile: '/src/pupnp/ixml/src/document.c'
      linkageType:     InternalLinkage
      functionLinenumber: 256
      functionLinenumberEnd: 261
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ixmlDocument_createTextNodeEx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/document.c:259,2'
          Dst:             ixmlDocument_createTextNodeEx
    - functionName:    ixmlDocument_createTextNodeEx
      functionSourceFile: '/src/pupnp/ixml/src/document.c'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 252
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          107
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - ixmlNode_free
        - ixmlNode_init
        - strdup
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/document.c:227,2'
          Dst:             ixmlNode_init
        - Src:             'ixml/src/document.c:229,25'
          Dst:             strdup
        - Src:             'ixml/src/document.c:231,3'
          Dst:             ixmlNode_free
        - Src:             'ixml/src/document.c:238,27'
          Dst:             strdup
        - Src:             'ixml/src/document.c:240,4'
          Dst:             ixmlNode_free
    - functionName:    ixmlDocument_createDocument
      functionSourceFile: '/src/pupnp/ixml/src/document.c'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 206
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ixmlDocument_createDocumentEx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/document.c:204,2'
          Dst:             ixmlDocument_createDocumentEx
    - functionName:    ixmlDocument_createDocumentEx
      functionSourceFile: '/src/pupnp/ixml/src/document.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 197
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          65
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ixmlDocument_free
        - ixmlDocument_init
        - strdup
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/document.c:181,2'
          Dst:             ixmlDocument_init
        - Src:             'ixml/src/document.c:183,20'
          Dst:             strdup
        - Src:             'ixml/src/document.c:185,3'
          Dst:             ixmlDocument_free
    - functionName:    ixmlDocument_init
      functionSourceFile: '/src/pupnp/ixml/src/document.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlDocument_free
      functionSourceFile: '/src/pupnp/ixml/src/document.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          26
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ixmlNode_free
      functionUses:    20
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/document.c:54,3'
          Dst:             ixmlNode_free
    - functionName:    ixmlDocument_createElement
      functionSourceFile: '/src/pupnp/ixml/src/document.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - IxmlPrintf
        - ixmlDocument_createElementEx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/document.c:157,8'
          Dst:             ixmlDocument_createElementEx
        - Src:             'ixml/src/document.c:159,3'
          Dst:             IxmlPrintf
    - functionName:    ixmlDocument_setOwnerDocument
      functionSourceFile: '/src/pupnp/ixml/src/document.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ixmlDocument_setOwnerDocument
        - ixmlNode_getFirstChild
        - ixmlNode_getNextSibling
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/document.c:73,9'
          Dst:             ixmlNode_getFirstChild
        - Src:             'ixml/src/document.c:72,3'
          Dst:             ixmlDocument_setOwnerDocument
        - Src:             'ixml/src/document.c:75,9'
          Dst:             ixmlNode_getNextSibling
        - Src:             'ixml/src/document.c:74,3'
          Dst:             ixmlDocument_setOwnerDocument
    - functionName:    ixmlDocument_importNode
      functionSourceFile: '/src/pupnp/ixml/src/document.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          77
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - ixmlDocument_setOwnerDocument
        - ixmlNode_cloneNode
        - ixmlNode_getNodeType
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/document.c:91,13'
          Dst:             ixmlNode_getNodeType
        - Src:             'ixml/src/document.c:96,12'
          Dst:             ixmlNode_cloneNode
        - Src:             'ixml/src/document.c:101,2'
          Dst:             ixmlDocument_setOwnerDocument
    - functionName:    ixmlElement_free
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 654
      functionLinenumberEnd: 658
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          26
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ixmlNode_free
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/element.c:656,3'
          Dst:             ixmlNode_free
    - functionName:    ixmlElement_hasAttributeNS
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 633
      functionLinenumberEnd: 651
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          110
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/element.c:643,4'
          Dst:             strcmp
        - Src:             'ixml/src/element.c:644,4'
          Dst:             strcmp
    - functionName:    ixmlElement_hasAttribute
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 611
      functionLinenumberEnd: 628
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          80
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/element.c:621,4'
          Dst:             strcmp
    - functionName:    ixmlElement_getElementsByTagNameNS
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 598
      functionLinenumberEnd: 607
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          52
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - ixmlNode_getElementsByTagNameNS
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/element.c:603,3'
          Dst:             ixmlNode_getElementsByTagNameNS
    - functionName:    ixmlElement_getAttributeNodeNS
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 574
      functionLinenumberEnd: 584
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          56
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - find_condition_ns_ln
        - get_attribute_node
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/element.c:582,22'
          Dst:             get_attribute_node
        - Src:             'ixml/src/element.c:582,22'
          Dst:             find_condition_ns_ln
    - functionName:    find_condition_ns_ln
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 391
      functionLinenumberEnd: 401
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          71
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - strcmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/element.c:398,8'
          Dst:             strcmp
        - Src:             'ixml/src/element.c:399,8'
          Dst:             strcmp
    - functionName:    get_attribute_node
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlElement_removeAttributeNS
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 543
      functionLinenumberEnd: 569
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          129
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/element.c:553,4'
          Dst:             strcmp
        - Src:             'ixml/src/element.c:554,4'
          Dst:             strcmp
    - functionName:    ixmlElement_setAttributeNodeNS
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 590
      functionLinenumberEnd: 592
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - find_condition_ns_ln
        - ixmlElement_setAttributeNode_common
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/element.c:591,9'
          Dst:             ixmlElement_setAttributeNode_common
        - Src:             'ixml/src/element.c:591,9'
          Dst:             find_condition_ns_ln
    - functionName:    ixmlElement_setAttributeNode_common
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 236
      functionLinenumberEnd: 311
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          305
      EdgeCount:       53
      CyclomaticComplexity: 15
      functionsReached:
        - get_attribute_node
        - ixmlAttr_free
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/element.c:254,13'
          Dst:             get_attribute_node
        - Src:             'ixml/src/element.c:283,4'
          Dst:             ixmlAttr_free
    - functionName:    check_namespace_error
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 428
      functionLinenumberEnd: 440
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          91
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/element.c:436,4'
          Dst:             strcmp
        - Src:             'ixml/src/element.c:437,4'
          Dst:             strcmp
        - Src:             'ixml/src/element.c:439,4'
          Dst:             strcmp
        - Src:             'ixml/src/element.c:440,4'
          Dst:             strcmp
    - functionName:    ixmlElement_setAttributeNS
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 449
      functionLinenumberEnd: 538
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          267
      EdgeCount:       61
      CyclomaticComplexity: 19
      functionsReached:
        - Parser_freeNodeContent
        - Parser_isValidXmlName
        - Parser_setNodePrefixAndLocalName
        - check_namespace_error
        - find_condition_ns_ln
        - get_attribute_node
        - ixmlAttr_free
        - ixmlDocument_createAttributeNSEx
        - ixmlElement_setAttributeNodeNS
        - ixmlNode_init
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/element.c:459,6'
          Dst:             Parser_isValidXmlName
        - Src:             'ixml/src/element.c:462,2'
          Dst:             ixmlNode_init
        - Src:             'ixml/src/element.c:463,25'
          Dst:             strdup
        - Src:             'ixml/src/element.c:467,15'
          Dst:             Parser_setNodePrefixAndLocalName
        - Src:             'ixml/src/element.c:471,20'
          Dst:             check_namespace_error
        - Src:             'ixml/src/element.c:479,13'
          Dst:             get_attribute_node
        - Src:             'ixml/src/element.c:479,13'
          Dst:             find_condition_ns_ln
        - Src:             'ixml/src/element.c:487,23'
          Dst:             strdup
        - Src:             'ixml/src/element.c:499,25'
          Dst:             strdup
        - Src:             'ixml/src/element.c:510,16'
          Dst:             ixmlDocument_createAttributeNSEx
        - Src:             'ixml/src/element.c:518,26'
          Dst:             strdup
        - Src:             'ixml/src/element.c:520,4'
          Dst:             ixmlAttr_free
        - Src:             'ixml/src/element.c:524,16'
          Dst:             ixmlElement_setAttributeNodeNS
        - Src:             'ixml/src/element.c:529,4'
          Dst:             ixmlAttr_free
        - Src:             'ixml/src/element.c:535,2'
          Dst:             Parser_freeNodeContent
    - functionName:    ixmlElement_getAttributeNS
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 408
      functionLinenumberEnd: 423
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          69
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - find_condition_ns_ln
        - get_attribute_node
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/element.c:417,6'
          Dst:             get_attribute_node
        - Src:             'ixml/src/element.c:417,6'
          Dst:             find_condition_ns_ln
    - functionName:    ixmlElement_getElementsByTagName
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 379
      functionLinenumberEnd: 387
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          39
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ixmlNode_getElementsByTagName
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/element.c:383,3'
          Dst:             ixmlNode_getElementsByTagName
    - functionName:    find_condition_node
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ixmlNode_compare
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/element.c:339,9'
          Dst:             ixmlNode_compare
    - functionName:    ixmlElement_removeAttributeNode
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 344
      functionLinenumberEnd: 375
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          127
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - find_condition_node
        - get_attribute_node
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/element.c:353,13'
          Dst:             get_attribute_node
        - Src:             'ixml/src/element.c:353,13'
          Dst:             find_condition_node
    - functionName:    find_condition_node_name
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 315
      functionLinenumberEnd: 323
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          57
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/element.c:321,9'
          Dst:             strcmp
    - functionName:    ixmlElement_getAttributeNode
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 219
      functionLinenumberEnd: 229
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          46
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - find_condition_name
        - get_attribute_node
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/element.c:227,22'
          Dst:             get_attribute_node
        - Src:             'ixml/src/element.c:227,22'
          Dst:             find_condition_name
    - functionName:    find_condition_name
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strcmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/element.c:96,8'
          Dst:             strcmp
    - functionName:    ixmlElement_removeAttribute
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 215
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          72
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - find_condition_name
        - get_attribute_node
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/element.c:207,13'
          Dst:             get_attribute_node
        - Src:             'ixml/src/element.c:207,13'
          Dst:             find_condition_name
    - functionName:    ixmlElement_setAttributeNode
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 330
      functionLinenumberEnd: 332
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - find_condition_node_name
        - ixmlElement_setAttributeNode_common
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/element.c:331,9'
          Dst:             ixmlElement_setAttributeNode_common
        - Src:             'ixml/src/element.c:331,9'
          Dst:             find_condition_node_name
    - functionName:    ixmlElement_setAttribute
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          161
      EdgeCount:       38
      CyclomaticComplexity: 12
      functionsReached:
        - Parser_isValidXmlName
        - find_condition_name
        - get_attribute_node
        - ixmlAttr_free
        - ixmlDocument_createAttributeEx
        - ixmlElement_setAttributeNode
        - strdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/element.c:149,6'
          Dst:             Parser_isValidXmlName
        - Src:             'ixml/src/element.c:154,13'
          Dst:             get_attribute_node
        - Src:             'ixml/src/element.c:154,13'
          Dst:             find_condition_name
        - Src:             'ixml/src/element.c:160,25'
          Dst:             strdup
        - Src:             'ixml/src/element.c:170,16'
          Dst:             ixmlDocument_createAttributeEx
        - Src:             'ixml/src/element.c:177,26'
          Dst:             strdup
        - Src:             'ixml/src/element.c:179,4'
          Dst:             ixmlAttr_free
        - Src:             'ixml/src/element.c:183,16'
          Dst:             ixmlElement_setAttributeNode
        - Src:             'ixml/src/element.c:188,4'
          Dst:             ixmlAttr_free
    - functionName:    ixmlElement_getAttribute
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          59
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - find_condition_name
        - get_attribute_node
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/element.c:129,13'
          Dst:             get_attribute_node
        - Src:             'ixml/src/element.c:129,13'
          Dst:             find_condition_name
    - functionName:    ixmlElement_setTagName
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          74
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/element.c:81,21'
          Dst:             strdup
    - functionName:    ixmlElement_getTagName
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlElement_init
      functionSourceFile: '/src/pupnp/ixml/src/element.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          19
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlPrintCloseTag
      functionSourceFile: '/src/pupnp/ixml/src/ixml.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ixmlNode_getNodeName
        - ixmlNode_getNodeType
        - ixml_membuf_append_str
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixml.c:92,2'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:93,30'
          Dst:             ixmlNode_getNodeName
        - Src:             'ixml/src/ixml.c:93,2'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:94,13'
          Dst:             ixmlNode_getNodeType
        - Src:             'ixml/src/ixml.c:95,3'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:97,3'
          Dst:             ixml_membuf_append_str
    - functionName:    copy_with_escape
      functionSourceFile: '/src/pupnp/ixml/src/ixml.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          93
      EdgeCount:       18
      CyclomaticComplexity: 3
      functionsReached:
        - ixml_membuf_append
        - ixml_membuf_append_str
        - strlen
      functionUses:    6
      BranchProfiles:
        - Branch String:   'ixml/src/ixml.c:64,3'
          Branch Sides:    []
      Callsites:
        - Src:             'ixml/src/ixml.c:62,9'
          Dst:             strlen
        - Src:             'ixml/src/ixml.c:66,4'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:69,4'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:72,4'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:75,4'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:78,4'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:81,4'
          Dst:             ixml_membuf_append
    - functionName:    ixmlPrintDomTreeRecursive
      functionSourceFile: '/src/pupnp/ixml/src/ixml.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         60
      ICount:          354
      EdgeCount:       76
      CyclomaticComplexity: 18
      functionsReached:
        - IxmlPrintf
        - copy_with_escape
        - ixmlNode_getFirstChild
        - ixmlNode_getNodeName
        - ixmlNode_getNodeType
        - ixmlNode_getNodeValue
        - ixmlPrintCloseTag
        - ixml_membuf_append_str
      functionUses:    6
      BranchProfiles:
        - Branch String:   'ixml/src/ixml.c:154,3'
          Branch Sides:    []
      Callsites:
        - Src:             'ixml/src/ixml.c:122,32'
          Dst:             ixmlNode_getNodeName
        - Src:             'ixml/src/ixml.c:122,4'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:123,4'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:124,26'
          Dst:             ixmlNode_getNodeValue
        - Src:             'ixml/src/ixml.c:124,4'
          Dst:             copy_with_escape
        - Src:             'ixml/src/ixml.c:125,4'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:127,5'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:140,8'
          Dst:             ixmlNode_getNodeType
        - Src:             'ixml/src/ixml.c:141,5'
          Dst:             ixmlPrintCloseTag
        - Src:             'ixml/src/ixml.c:154,11'
          Dst:             ixmlNode_getNodeType
        - Src:             'ixml/src/ixml.c:156,26'
          Dst:             ixmlNode_getNodeValue
        - Src:             'ixml/src/ixml.c:156,4'
          Dst:             copy_with_escape
        - Src:             'ixml/src/ixml.c:160,4'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:162,10'
          Dst:             ixmlNode_getNodeValue
        - Src:             'ixml/src/ixml.c:161,4'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:163,4'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:167,4'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:168,32'
          Dst:             ixmlNode_getNodeName
        - Src:             'ixml/src/ixml.c:168,4'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:169,4'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:170,26'
          Dst:             ixmlNode_getNodeValue
        - Src:             'ixml/src/ixml.c:170,4'
          Dst:             copy_with_escape
        - Src:             'ixml/src/ixml.c:171,4'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:182,4'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:183,32'
          Dst:             ixmlNode_getNodeName
        - Src:             'ixml/src/ixml.c:183,4'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:185,5'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:189,7'
          Dst:             ixmlNode_getNodeName
        - Src:             'ixml/src/ixml.c:188,6'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:190,6'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:192,7'
          Dst:             ixmlNode_getNodeValue
        - Src:             'ixml/src/ixml.c:191,6'
          Dst:             copy_with_escape
        - Src:             'ixml/src/ixml.c:193,6'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:195,7'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:199,12'
          Dst:             ixmlNode_getFirstChild
        - Src:             'ixml/src/ixml.c:201,5'
          Dst:             ixmlNode_getNodeType
        - Src:             'ixml/src/ixml.c:202,5'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:204,5'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:209,5'
          Dst:             ixmlPrintCloseTag
        - Src:             'ixml/src/ixml.c:219,10'
          Dst:             ixmlNode_getNodeType
        - Src:             'ixml/src/ixml.c:215,4'
          Dst:             IxmlPrintf
    - functionName:    ixmlFreeDOMString
      functionSourceFile: '/src/pupnp/ixml/src/ixml.c'
      linkageType:     InternalLinkage
      functionLinenumber: 497
      functionLinenumberEnd: 501
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          26
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    43
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlCloneDOMString
      functionSourceFile: '/src/pupnp/ixml/src/ixml.c'
      linkageType:     InternalLinkage
      functionLinenumber: 488
      functionLinenumberEnd: 494
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strdup
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixml.c:493,9'
          Dst:             strdup
    - functionName:    ixmlParseBuffer
      functionSourceFile: '/src/pupnp/ixml/src/ixml.c'
      linkageType:     InternalLinkage
      functionLinenumber: 479
      functionLinenumberEnd: 484
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ixmlParseBufferEx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixml.c:482,2'
          Dst:             ixmlParseBufferEx
    - functionName:    ixmlParseBufferEx
      functionSourceFile: '/src/pupnp/ixml/src/ixml.c'
      linkageType:     InternalLinkage
      functionLinenumber: 467
      functionLinenumberEnd: 476
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          53
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - Parser_LoadDocument
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixml.c:475,9'
          Dst:             Parser_LoadDocument
    - functionName:    ixmlSetBeforeFree
      functionSourceFile: '/src/pupnp/ixml/src/ixml.c'
      linkageType:     InternalLinkage
      functionLinenumber: 461
      functionLinenumberEnd: 463
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - Parser_setBeforeFree
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixml.c:462,2'
          Dst:             Parser_setBeforeFree
    - functionName:    ixmlRelaxParser
      functionSourceFile: '/src/pupnp/ixml/src/ixml.c'
      linkageType:     InternalLinkage
      functionLinenumber: 457
      functionLinenumberEnd: 457
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - Parser_setErrorChar
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixml.c:457,40'
          Dst:             Parser_setErrorChar
    - functionName:    ixmlNodetoString
      functionSourceFile: '/src/pupnp/ixml/src/ixml.c'
      linkageType:     InternalLinkage
      functionLinenumber: 443
      functionLinenumberEnd: 455
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ixmlDomTreetoString
        - ixml_membuf_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixml.c:451,2'
          Dst:             ixml_membuf_init
        - Src:             'ixml/src/ixml.c:452,2'
          Dst:             ixmlDomTreetoString
    - functionName:    ixmlDomTreetoString
      functionSourceFile: '/src/pupnp/ixml/src/ixml.c'
      linkageType:     InternalLinkage
      functionLinenumber: 315
      functionLinenumberEnd: 373
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          156
      EdgeCount:       30
      CyclomaticComplexity: 6
      functionsReached:
        - IxmlPrintf
        - copy_with_escape
        - ixmlNode_getFirstChild
        - ixmlNode_getNodeName
        - ixmlNode_getNodeType
        - ixmlNode_getNodeValue
        - ixmlPrintDomTreeRecursive
        - ixml_membuf_append_str
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ixml/src/ixml.c:327,2'
          Branch Sides:    []
      Callsites:
        - Src:             'ixml/src/ixml.c:324,27'
          Dst:             ixmlNode_getNodeName
        - Src:             'ixml/src/ixml.c:325,14'
          Dst:             ixmlNode_getNodeValue
        - Src:             'ixml/src/ixml.c:327,10'
          Dst:             ixmlNode_getNodeType
        - Src:             'ixml/src/ixml.c:332,3'
          Dst:             ixmlPrintDomTreeRecursive
        - Src:             'ixml/src/ixml.c:336,3'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:337,3'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:338,3'
          Dst:             copy_with_escape
        - Src:             'ixml/src/ixml.c:339,3'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:343,3'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:344,3'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:346,4'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:347,4'
          Dst:             ixmlPrintDomTreeRecursive
        - Src:             'ixml/src/ixml.c:349,11'
          Dst:             ixmlNode_getFirstChild
        - Src:             'ixml/src/ixml.c:350,16'
          Dst:             ixmlNode_getNodeType
        - Src:             'ixml/src/ixml.c:351,4'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:353,4'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:357,29'
          Dst:             ixmlNode_getFirstChild
        - Src:             'ixml/src/ixml.c:357,3'
          Dst:             ixmlPrintDomTreeRecursive
        - Src:             'ixml/src/ixml.c:360,3'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:361,3'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:362,3'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:370,9'
          Dst:             ixmlNode_getNodeType
        - Src:             'ixml/src/ixml.c:366,3'
          Dst:             IxmlPrintf
    - functionName:    ixmlDocumenttoString
      functionSourceFile: '/src/pupnp/ixml/src/ixml.c'
      linkageType:     InternalLinkage
      functionLinenumber: 426
      functionLinenumberEnd: 440
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ixmlDomTreetoString
        - ixml_membuf_append_str
        - ixml_membuf_init
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixml.c:435,2'
          Dst:             ixml_membuf_init
        - Src:             'ixml/src/ixml.c:436,2'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:437,2'
          Dst:             ixmlDomTreetoString
    - functionName:    ixmlPrintNode
      functionSourceFile: '/src/pupnp/ixml/src/ixml.c'
      linkageType:     InternalLinkage
      functionLinenumber: 411
      functionLinenumberEnd: 423
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ixmlPrintDomTree
        - ixml_membuf_init
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixml.c:419,2'
          Dst:             ixml_membuf_init
        - Src:             'ixml/src/ixml.c:420,2'
          Dst:             ixmlPrintDomTree
    - functionName:    ixmlPrintDomTree
      functionSourceFile: '/src/pupnp/ixml/src/ixml.c'
      linkageType:     InternalLinkage
      functionLinenumber: 245
      functionLinenumberEnd: 302
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          156
      EdgeCount:       30
      CyclomaticComplexity: 6
      functionsReached:
        - IxmlPrintf
        - copy_with_escape
        - ixmlNode_getFirstChild
        - ixmlNode_getNodeName
        - ixmlNode_getNodeType
        - ixmlNode_getNodeValue
        - ixmlPrintDomTreeRecursive
        - ixml_membuf_append_str
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ixml/src/ixml.c:256,2'
          Branch Sides:    []
      Callsites:
        - Src:             'ixml/src/ixml.c:254,27'
          Dst:             ixmlNode_getNodeName
        - Src:             'ixml/src/ixml.c:255,14'
          Dst:             ixmlNode_getNodeValue
        - Src:             'ixml/src/ixml.c:256,10'
          Dst:             ixmlNode_getNodeType
        - Src:             'ixml/src/ixml.c:261,3'
          Dst:             ixmlPrintDomTreeRecursive
        - Src:             'ixml/src/ixml.c:265,3'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:266,3'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:267,3'
          Dst:             copy_with_escape
        - Src:             'ixml/src/ixml.c:268,3'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:272,3'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:273,3'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:275,4'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:276,4'
          Dst:             ixmlPrintDomTreeRecursive
        - Src:             'ixml/src/ixml.c:278,11'
          Dst:             ixmlNode_getFirstChild
        - Src:             'ixml/src/ixml.c:279,16'
          Dst:             ixmlNode_getNodeType
        - Src:             'ixml/src/ixml.c:280,4'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:282,4'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:286,29'
          Dst:             ixmlNode_getFirstChild
        - Src:             'ixml/src/ixml.c:286,3'
          Dst:             ixmlPrintDomTreeRecursive
        - Src:             'ixml/src/ixml.c:289,3'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:290,3'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:291,3'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:299,9'
          Dst:             ixmlNode_getNodeType
        - Src:             'ixml/src/ixml.c:295,3'
          Dst:             IxmlPrintf
    - functionName:    ixmlPrintDocument
      functionSourceFile: '/src/pupnp/ixml/src/ixml.c'
      linkageType:     InternalLinkage
      functionLinenumber: 394
      functionLinenumberEnd: 408
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ixmlPrintDomTree
        - ixml_membuf_append_str
        - ixml_membuf_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixml.c:403,2'
          Dst:             ixml_membuf_init
        - Src:             'ixml/src/ixml.c:404,2'
          Dst:             ixml_membuf_append_str
        - Src:             'ixml/src/ixml.c:405,2'
          Dst:             ixmlPrintDomTree
    - functionName:    ixmlLoadDocument
      functionSourceFile: '/src/pupnp/ixml/src/ixml.c'
      linkageType:     InternalLinkage
      functionLinenumber: 385
      functionLinenumberEnd: 390
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ixmlLoadDocumentEx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixml.c:388,2'
          Dst:             ixmlLoadDocumentEx
    - functionName:    ixmlLoadDocumentEx
      functionSourceFile: '/src/pupnp/ixml/src/ixml.c'
      linkageType:     InternalLinkage
      functionLinenumber: 376
      functionLinenumberEnd: 382
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          41
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - Parser_LoadDocument
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixml.c:381,9'
          Dst:             Parser_LoadDocument
    - functionName:    printNodes
      functionSourceFile: '/src/pupnp/ixml/src/ixmldebug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          72
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - IxmlPrintf
        - ixmlNodeList_item
        - ixmlNode_getChildNodes
        - ixmlNode_getNodeName
        - ixmlNode_getNodeType
        - ixmlNode_getNodeValue
        - printNodes
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmldebug.c:45,14'
          Dst:             ixmlNode_getChildNodes
        - Src:             'ixml/src/ixmldebug.c:47,16'
          Dst:             ixmlNodeList_item
        - Src:             'ixml/src/ixmldebug.c:52,3'
          Dst:             printNodes
        - Src:             'ixml/src/ixmldebug.c:53,14'
          Dst:             ixmlNode_getNodeType
        - Src:             'ixml/src/ixmldebug.c:54,15'
          Dst:             ixmlNode_getNodeValue
        - Src:             'ixml/src/ixmldebug.c:55,14'
          Dst:             ixmlNode_getNodeName
        - Src:             'ixml/src/ixmldebug.c:56,3'
          Dst:             IxmlPrintf
    - functionName:    IxmlPrintf
      functionSourceFile: '/src/pupnp/ixml/src/ixmldebug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 21
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          53
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - fflush
        - fprintf
        - vfprintf
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmldebug.c:25,2'
          Dst:             fprintf
        - Src:             'ixml/src/ixmldebug.c:27,3'
          Dst:             fprintf
        - Src:             'ixml/src/ixmldebug.c:29,3'
          Dst:             vfprintf
        - Src:             'ixml/src/ixmldebug.c:30,3'
          Dst:             fflush
        - Src:             'ixml/src/ixmldebug.c:33,3'
          Dst:             fprintf
    - functionName:    ixml_membuf_append_str
      functionSourceFile: '/src/pupnp/ixml/src/ixmlmembuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ixml_membuf_insert
        - strlen
      functionUses:    54
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlmembuf.c:172,38'
          Dst:             strlen
        - Src:             'ixml/src/ixmlmembuf.c:172,9'
          Dst:             ixml_membuf_insert
    - functionName:    ixml_membuf_insert
      functionSourceFile: '/src/pupnp/ixml/src/ixmlmembuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 210
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          124
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - ixml_membuf_set_size
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlmembuf.c:187,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlmembuf.c:197,16'
          Dst:             ixml_membuf_set_size
    - functionName:    ixml_membuf_set_size
      functionSourceFile: '/src/pupnp/ixml/src/ixmlmembuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          166
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
        - realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlmembuf.c:76,3'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlmembuf.c:85,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlmembuf.c:87,21'
          Dst:             realloc
        - Src:             'ixml/src/ixmlmembuf.c:91,22'
          Dst:             realloc
    - functionName:    ixml_membuf_append
      functionSourceFile: '/src/pupnp/ixml/src/ixmlmembuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - ixml_membuf_insert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlmembuf.c:161,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlmembuf.c:163,9'
          Dst:             ixml_membuf_insert
    - functionName:    ixml_membuf_assign_str
      functionSourceFile: '/src/pupnp/ixml/src/ixmlmembuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ixml_membuf_assign
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlmembuf.c:152,38'
          Dst:             strlen
        - Src:             'ixml/src/ixmlmembuf.c:152,9'
          Dst:             ixml_membuf_assign
    - functionName:    ixml_membuf_assign
      functionSourceFile: '/src/pupnp/ixml/src/ixmlmembuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          74
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - ixml_membuf_destroy
        - ixml_membuf_set_size
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlmembuf.c:127,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlmembuf.c:131,3'
          Dst:             ixml_membuf_destroy
        - Src:             'ixml/src/ixmlmembuf.c:135,16'
          Dst:             ixml_membuf_set_size
    - functionName:    ixml_membuf_destroy
      functionSourceFile: '/src/pupnp/ixml/src/ixmlmembuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ixml_membuf_init
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlmembuf.c:120,2'
          Dst:             ixml_membuf_init
    - functionName:    ixml_membuf_init
      functionSourceFile: '/src/pupnp/ixml/src/ixmlmembuf.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlmembuf.c:105,2'
          Dst:             __assert_fail
    - functionName:    Parser_popElement
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2509
      functionLinenumberEnd: 2527
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          66
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - Parser_freeElementStackItem
        - Parser_freeNsURI
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:2517,3'
          Dst:             Parser_freeElementStackItem
        - Src:             'ixml/src/ixmlparser.c:2521,4'
          Dst:             Parser_freeNsURI
    - functionName:    Parser_freeElementStackItem
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 454
      functionLinenumberEnd: 468
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          82
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:455,2'
          Dst:             __assert_fail
    - functionName:    Parser_freeNsURI
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 476
      functionLinenumberEnd: 484
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          56
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:477,2'
          Dst:             __assert_fail
    - functionName:    Parser_isValidEndElement
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2490
      functionLinenumberEnd: 2501
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          86
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:2491,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlparser.c:2497,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlparser.c:2498,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlparser.c:2499,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlparser.c:2500,9'
          Dst:             strcmp
    - functionName:    isDuplicateAttribute
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2246
      functionLinenumberEnd: 2261
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:2253,7'
          Dst:             strcmp
    - functionName:    Parser_pushElement
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2312
      functionLinenumberEnd: 2362
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          151
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - Parser_freeElementStackItem
        - __assert_fail
        - safe_strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:2316,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlparser.c:2328,31'
          Dst:             safe_strdup
        - Src:             'ixml/src/ixmlparser.c:2336,5'
          Dst:             safe_strdup
        - Src:             'ixml/src/ixmlparser.c:2338,5'
          Dst:             Parser_freeElementStackItem
        - Src:             'ixml/src/ixmlparser.c:2346,5'
          Dst:             safe_strdup
        - Src:             'ixml/src/ixmlparser.c:2348,5'
          Dst:             Parser_freeElementStackItem
    - functionName:    safe_strdup
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1306
      functionLinenumberEnd: 1313
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          40
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - strdup
      functionUses:    22
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:1307,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlparser.c:1310,10'
          Dst:             strdup
        - Src:             'ixml/src/ixmlparser.c:1312,9'
          Dst:             strdup
    - functionName:    Parser_hasDefaultNamespace
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2385
      functionLinenumberEnd: 2398
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          61
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Parser_setElementNamespace
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2216
      functionLinenumberEnd: 2234
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          67
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - safe_strdup
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:2225,35'
          Dst:             safe_strdup
    - functionName:    Parser_ElementPrefixDefined
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2179
      functionLinenumberEnd: 2206
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          113
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:2185,5'
          Dst:             strcmp
        - Src:             'ixml/src/ixmlparser.c:2192,9'
          Dst:             strcmp
    - functionName:    isTopLevelElement
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2372
      functionLinenumberEnd: 2374
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:2373,2'
          Dst:             __assert_fail
    - functionName:    Parser_getNameSpace
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1699
      functionLinenumberEnd: 1717
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          76
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:1704,6'
          Dst:             strcmp
        - Src:             'ixml/src/ixmlparser.c:1707,8'
          Dst:             strcmp
    - functionName:    Parser_addNamespace
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1725
      functionLinenumberEnd: 1759
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         30
      ICount:          172
      EdgeCount:       39
      CyclomaticComplexity: 11
      functionsReached:
        - Parser_getNameSpace
        - __assert_fail
        - safe_strdup
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:1734,7'
          Dst:             strcmp
        - Src:             'ixml/src/ixmlparser.c:1738,4'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlparser.c:1739,26'
          Dst:             safe_strdup
        - Src:             'ixml/src/ixmlparser.c:1746,6'
          Dst:             strcmp
        - Src:             'ixml/src/ixmlparser.c:1747,6'
          Dst:             strcmp
        - Src:             'ixml/src/ixmlparser.c:1749,18'
          Dst:             Parser_getNameSpace
        - Src:             'ixml/src/ixmlparser.c:1751,26'
          Dst:             safe_strdup
    - functionName:    Parser_xmlNamespace
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1769
      functionLinenumberEnd: 1892
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         70
      ICount:          407
      EdgeCount:       93
      CyclomaticComplexity: 25
      functionsReached:
        - IxmlPrintf
        - Parser_addNamespace
        - Parser_freeNsURI
        - Parser_setNodePrefixAndLocalName
        - __assert_fail
        - safe_strdup
        - strcmp
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:1778,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlparser.c:1780,6'
          Dst:             strcmp
        - Src:             'ixml/src/ixmlparser.c:1785,24'
          Dst:             safe_strdup
        - Src:             'ixml/src/ixmlparser.c:1791,13'
          Dst:             strncmp
        - Src:             'ixml/src/ixmlparser.c:1794,9'
          Dst:             Parser_setNodePrefixAndLocalName
        - Src:             'ixml/src/ixmlparser.c:1800,3'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlparser.c:1808,4'
          Dst:             strcmp
        - Src:             'ixml/src/ixmlparser.c:1812,25'
          Dst:             safe_strdup
        - Src:             'ixml/src/ixmlparser.c:1823,6'
          Dst:             strcmp
        - Src:             'ixml/src/ixmlparser.c:1843,6'
          Dst:             safe_strdup
        - Src:             'ixml/src/ixmlparser.c:1850,21'
          Dst:             safe_strdup
        - Src:             'ixml/src/ixmlparser.c:1852,6'
          Dst:             Parser_freeNsURI
        - Src:             'ixml/src/ixmlparser.c:1868,18'
          Dst:             safe_strdup
        - Src:             'ixml/src/ixmlparser.c:1878,9'
          Dst:             Parser_addNamespace
        - Src:             'ixml/src/ixmlparser.c:1885,3'
          Dst:             IxmlPrintf
    - functionName:    Parser_setNodePrefixAndLocalName
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2887
      functionLinenumberEnd: 2928
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          137
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - safe_strdup
        - strchr
        - strncpy
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:2892,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlparser.c:2897,15'
          Dst:             strchr
        - Src:             'ixml/src/ixmlparser.c:2900,21'
          Dst:             safe_strdup
        - Src:             'ixml/src/ixmlparser.c:2915,3'
          Dst:             strncpy
        - Src:             'ixml/src/ixmlparser.c:2917,21'
          Dst:             safe_strdup
    - functionName:    Parser_setLastElem
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 758
      functionLinenumberEnd: 767
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          45
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ixml_membuf_assign_str
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:765,7'
          Dst:             ixml_membuf_assign_str
    - functionName:    Parser_UTF8ToInt
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 791
      functionLinenumberEnd: 848
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         54
      ICount:          442
      EdgeCount:       76
      CyclomaticComplexity: 24
      functionsReached:
        - IxmlPrintf
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:844,3'
          Dst:             IxmlPrintf
    - functionName:    Parser_appendTokBufStr
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1141
      functionLinenumberEnd: 1148
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ixml_membuf_append_str
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:1145,8'
          Dst:             ixml_membuf_append_str
    - functionName:    Parser_intToUTF8
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1079
      functionLinenumberEnd: 1131
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          251
      EdgeCount:       22
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Parser_appendTokBufChar
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1061
      functionLinenumberEnd: 1065
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ixml_membuf_append
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:1064,7'
          Dst:             ixml_membuf_append
    - functionName:    Parser_getChar
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 922
      functionLinenumberEnd: 1050
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         93
      ICount:          492
      EdgeCount:       127
      CyclomaticComplexity: 36
      functionsReached:
        - IxmlPrintf
        - Parser_UTF8ToInt
        - Parser_isXmlChar
        - strchr
        - strncasecmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:938,19'
          Dst:             Parser_isXmlChar
        - Src:             'ixml/src/ixmlparser.c:944,7'
          Dst:             Parser_UTF8ToInt
        - Src:             'ixml/src/ixmlparser.c:945,8'
          Dst:             Parser_isXmlChar
        - Src:             'ixml/src/ixmlparser.c:954,13'
          Dst:             strncasecmp
        - Src:             'ixml/src/ixmlparser.c:958,13'
          Dst:             strncasecmp
        - Src:             'ixml/src/ixmlparser.c:962,13'
          Dst:             strncasecmp
        - Src:             'ixml/src/ixmlparser.c:966,13'
          Dst:             strncasecmp
        - Src:             'ixml/src/ixmlparser.c:970,13'
          Dst:             strncasecmp
        - Src:             'ixml/src/ixmlparser.c:974,13'
          Dst:             strncasecmp
        - Src:             'ixml/src/ixmlparser.c:983,19'
          Dst:             strchr
        - Src:             'ixml/src/ixmlparser.c:1001,39'
          Dst:             Parser_isXmlChar
        - Src:             'ixml/src/ixmlparser.c:1008,13'
          Dst:             strncasecmp
        - Src:             'ixml/src/ixmlparser.c:1017,19'
          Dst:             strchr
        - Src:             'ixml/src/ixmlparser.c:1028,41'
          Dst:             Parser_isXmlChar
        - Src:             'ixml/src/ixmlparser.c:1047,3'
          Dst:             IxmlPrintf
    - functionName:    Parser_isXmlChar
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 909
      functionLinenumberEnd: 911
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          89
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Parser_copyToken
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1161
      functionLinenumberEnd: 1215
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          140
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - IxmlPrintf
        - Parser_appendTokBufChar
        - Parser_appendTokBufStr
        - Parser_getChar
        - Parser_intToUTF8
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:1181,7'
          Dst:             Parser_getChar
        - Src:             'ixml/src/ixmlparser.c:1189,4'
          Dst:             Parser_appendTokBufChar
        - Src:             'ixml/src/ixmlparser.c:1192,8'
          Dst:             Parser_intToUTF8
        - Src:             'ixml/src/ixmlparser.c:1198,4'
          Dst:             Parser_appendTokBufStr
        - Src:             'ixml/src/ixmlparser.c:1211,3'
          Dst:             IxmlPrintf
    - functionName:    Parser_clearTokenBuf
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 775
      functionLinenumberEnd: 777
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - ixml_membuf_destroy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:776,2'
          Dst:             ixml_membuf_destroy
    - functionName:    Parser_skipPI
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1386
      functionLinenumberEnd: 1410
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          113
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
        - strlen
        - strncasecmp
        - strstr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:1389,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlparser.c:1394,35'
          Dst:             strlen
        - Src:             'ixml/src/ixmlparser.c:1394,7'
          Dst:             strncasecmp
        - Src:             'ixml/src/ixmlparser.c:1395,33'
          Dst:             strlen
        - Src:             'ixml/src/ixmlparser.c:1395,4'
          Dst:             strncasecmp
        - Src:             'ixml/src/ixmlparser.c:1400,35'
          Dst:             strlen
        - Src:             'ixml/src/ixmlparser.c:1400,6'
          Dst:             strncasecmp
        - Src:             'ixml/src/ixmlparser.c:1401,10'
          Dst:             strstr
        - Src:             'ixml/src/ixmlparser.c:1403,19'
          Dst:             strlen
    - functionName:    Parser_processCDSect
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1422
      functionLinenumberEnd: 1467
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          194
      EdgeCount:       39
      CyclomaticComplexity: 12
      functionsReached:
        - Parser_isXmlChar
        - safe_strdup
        - strlen
        - strncmp
        - strncpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:1432,24'
          Dst:             strlen
        - Src:             'ixml/src/ixmlparser.c:1434,22'
          Dst:             Parser_isXmlChar
        - Src:             'ixml/src/ixmlparser.c:1435,28'
          Dst:             strlen
        - Src:             'ixml/src/ixmlparser.c:1435,7'
          Dst:             strncmp
        - Src:             'ixml/src/ixmlparser.c:1451,3'
          Dst:             strncpy
        - Src:             'ixml/src/ixmlparser.c:1454,20'
          Dst:             safe_strdup
        - Src:             'ixml/src/ixmlparser.c:1462,18'
          Dst:             strlen
    - functionName:    Parser_processAttribute
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1905
      functionLinenumberEnd: 2051
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         58
      ICount:          383
      EdgeCount:       80
      CyclomaticComplexity: 24
      functionsReached:
        - IxmlPrintf
        - Parser_UTF8ToInt
        - Parser_clearTokenBuf
        - Parser_copyToken
        - Parser_getNextToken
        - Parser_isNameChar
        - Parser_xmlNamespace
        - __assert_fail
        - safe_strdup
        - strcmp
        - strstr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:1913,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlparser.c:1926,24'
          Dst:             Parser_UTF8ToInt
        - Src:             'ixml/src/ixmlparser.c:1926,6'
          Dst:             Parser_isNameChar
        - Src:             'ixml/src/ixmlparser.c:1932,19'
          Dst:             safe_strdup
        - Src:             'ixml/src/ixmlparser.c:1939,6'
          Dst:             Parser_getNextToken
        - Src:             'ixml/src/ixmlparser.c:1952,6'
          Dst:             Parser_getNextToken
        - Src:             'ixml/src/ixmlparser.c:1964,16'
          Dst:             strstr
        - Src:             'ixml/src/ixmlparser.c:1985,2'
          Dst:             Parser_clearTokenBuf
        - Src:             'ixml/src/ixmlparser.c:1987,9'
          Dst:             Parser_copyToken
        - Src:             'ixml/src/ixmlparser.c:2001,21'
          Dst:             safe_strdup
        - Src:             'ixml/src/ixmlparser.c:2016,8'
          Dst:             Parser_xmlNamespace
        - Src:             'ixml/src/ixmlparser.c:2023,6'
          Dst:             Parser_getNextToken
        - Src:             'ixml/src/ixmlparser.c:2030,6'
          Dst:             strcmp
        - Src:             'ixml/src/ixmlparser.c:2034,13'
          Dst:             strcmp
        - Src:             'ixml/src/ixmlparser.c:2044,3'
          Dst:             IxmlPrintf
    - functionName:    Parser_isNameChar
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 890
      functionLinenumberEnd: 901
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          51
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - Parser_isCharInTable
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:891,6'
          Dst:             Parser_isCharInTable
        - Src:             'ixml/src/ixmlparser.c:896,3'
          Dst:             Parser_isCharInTable
    - functionName:    Parser_getNextToken
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1224
      functionLinenumberEnd: 1296
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         43
      ICount:          244
      EdgeCount:       57
      CyclomaticComplexity: 16
      functionsReached:
        - Parser_UTF8ToInt
        - Parser_clearTokenBuf
        - Parser_copyToken
        - Parser_isNameChar
        - Parser_skipMisc
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:1230,2'
          Dst:             Parser_clearTokenBuf
        - Src:             'ixml/src/ixmlparser.c:1236,7'
          Dst:             Parser_skipMisc
        - Src:             'ixml/src/ixmlparser.c:1248,10'
          Dst:             Parser_UTF8ToInt
        - Src:             'ixml/src/ixmlparser.c:1252,14'
          Dst:             Parser_isNameChar
        - Src:             'ixml/src/ixmlparser.c:1273,7'
          Dst:             Parser_UTF8ToInt
        - Src:             'ixml/src/ixmlparser.c:1272,13'
          Dst:             Parser_isNameChar
        - Src:             'ixml/src/ixmlparser.c:1279,4'
          Dst:             Parser_UTF8ToInt
        - Src:             'ixml/src/ixmlparser.c:1278,10'
          Dst:             Parser_isNameChar
        - Src:             'ixml/src/ixmlparser.c:1289,6'
          Dst:             Parser_copyToken
    - functionName:    Parser_skipMisc
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 676
      functionLinenumberEnd: 706
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          116
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - Parser_skipComment
        - Parser_skipString
        - Parser_skipWhiteSpaces
        - strlen
        - strncasecmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:683,8'
          Dst:             strlen
        - Src:             'ixml/src/ixmlparser.c:681,7'
          Dst:             strncasecmp
        - Src:             'ixml/src/ixmlparser.c:685,9'
          Dst:             Parser_skipComment
        - Src:             'ixml/src/ixmlparser.c:689,8'
          Dst:             strlen
        - Src:             'ixml/src/ixmlparser.c:687,14'
          Dst:             strncasecmp
        - Src:             'ixml/src/ixmlparser.c:692,8'
          Dst:             strlen
        - Src:             'ixml/src/ixmlparser.c:690,7'
          Dst:             strncasecmp
        - Src:             'ixml/src/ixmlparser.c:697,8'
          Dst:             strlen
        - Src:             'ixml/src/ixmlparser.c:695,14'
          Dst:             strncasecmp
        - Src:             'ixml/src/ixmlparser.c:699,9'
          Dst:             Parser_skipString
        - Src:             'ixml/src/ixmlparser.c:703,3'
          Dst:             Parser_skipWhiteSpaces
    - functionName:    Parser_skipComment
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 651
      functionLinenumberEnd: 668
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          82
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - strlen
        - strstr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:654,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlparser.c:659,14'
          Dst:             strstr
        - Src:             'ixml/src/ixmlparser.c:662,26'
          Dst:             strlen
    - functionName:    Parser_skipString
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 580
      functionLinenumberEnd: 596
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          92
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - strlen
        - strncmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:586,33'
          Dst:             strlen
        - Src:             'ixml/src/ixmlparser.c:586,3'
          Dst:             strncmp
        - Src:             'ixml/src/ixmlparser.c:593,24'
          Dst:             strlen
    - functionName:    Parser_skipWhiteSpaces
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 617
      functionLinenumberEnd: 623
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strchr
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:619,15'
          Dst:             strchr
    - functionName:    Parser_isCharInTable
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 863
      functionLinenumberEnd: 880
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          78
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Parser_processSTag
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1323
      functionLinenumberEnd: 1378
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          159
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - Parser_getNextToken
        - Parser_setLastElem
        - Parser_setNodePrefixAndLocalName
        - safe_strdup
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:1327,6'
          Dst:             Parser_getNextToken
        - Src:             'ixml/src/ixmlparser.c:1333,20'
          Dst:             safe_strdup
        - Src:             'ixml/src/ixmlparser.c:1341,7'
          Dst:             Parser_setLastElem
        - Src:             'ixml/src/ixmlparser.c:1347,7'
          Dst:             Parser_setNodePrefixAndLocalName
        - Src:             'ixml/src/ixmlparser.c:1357,6'
          Dst:             Parser_getNextToken
        - Src:             'ixml/src/ixmlparser.c:1364,6'
          Dst:             strcmp
        - Src:             'ixml/src/ixmlparser.c:1369,13'
          Dst:             strcmp
    - functionName:    Parser_processETag
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1610
      functionLinenumberEnd: 1672
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          139
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - IxmlPrintf
        - Parser_getNextToken
        - Parser_skipWhiteSpaces
        - __assert_fail
        - safe_strdup
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:1615,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlparser.c:1616,6'
          Dst:             Parser_getNextToken
        - Src:             'ixml/src/ixmlparser.c:1628,19'
          Dst:             safe_strdup
        - Src:             'ixml/src/ixmlparser.c:1638,2'
          Dst:             Parser_skipWhiteSpaces
        - Src:             'ixml/src/ixmlparser.c:1641,6'
          Dst:             Parser_getNextToken
        - Src:             'ixml/src/ixmlparser.c:1655,6'
          Dst:             strcmp
        - Src:             'ixml/src/ixmlparser.c:1665,3'
          Dst:             IxmlPrintf
    - functionName:    Parser_processContent
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1477
      functionLinenumberEnd: 1597
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         49
      ICount:          314
      EdgeCount:       66
      CyclomaticComplexity: 19
      functionsReached:
        - IxmlPrintf
        - Parser_clearTokenBuf
        - Parser_copyToken
        - Parser_processCDSect
        - Parser_skipComment
        - Parser_skipPI
        - Parser_skipWhiteSpaces
        - safe_strdup
        - strlen
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:1487,2'
          Dst:             Parser_skipWhiteSpaces
        - Src:             'ixml/src/ixmlparser.c:1497,37'
          Dst:             strlen
        - Src:             'ixml/src/ixmlparser.c:1497,7'
          Dst:             strncmp
        - Src:             'ixml/src/ixmlparser.c:1498,8'
          Dst:             Parser_processCDSect
        - Src:             'ixml/src/ixmlparser.c:1508,8'
          Dst:             strlen
        - Src:             'ixml/src/ixmlparser.c:1506,14'
          Dst:             strncmp
        - Src:             'ixml/src/ixmlparser.c:1509,8'
          Dst:             Parser_skipComment
        - Src:             'ixml/src/ixmlparser.c:1518,8'
          Dst:             strlen
        - Src:             'ixml/src/ixmlparser.c:1516,14'
          Dst:             strncmp
        - Src:             'ixml/src/ixmlparser.c:1519,8'
          Dst:             Parser_skipPI
        - Src:             'ixml/src/ixmlparser.c:1538,6'
          Dst:             strlen
        - Src:             'ixml/src/ixmlparser.c:1536,5'
          Dst:             strncmp
        - Src:             'ixml/src/ixmlparser.c:1545,8'
          Dst:             strlen
        - Src:             'ixml/src/ixmlparser.c:1543,7'
          Dst:             strncmp
        - Src:             'ixml/src/ixmlparser.c:1552,3'
          Dst:             Parser_clearTokenBuf
        - Src:             'ixml/src/ixmlparser.c:1554,7'
          Dst:             Parser_copyToken
        - Src:             'ixml/src/ixmlparser.c:1564,22'
          Dst:             safe_strdup
        - Src:             'ixml/src/ixmlparser.c:1576,20'
          Dst:             safe_strdup
        - Src:             'ixml/src/ixmlparser.c:1590,3'
          Dst:             IxmlPrintf
    - functionName:    Parser_skipDocType
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 535
      functionLinenumberEnd: 569
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         30
      ICount:          146
      EdgeCount:       39
      CyclomaticComplexity: 11
      functionsReached:
        - __assert_fail
        - strchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:541,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlparser.c:552,12'
          Dst:             strchr
    - functionName:    Parser_skipXMLDecl
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 631
      functionLinenumberEnd: 642
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - Parser_skipString
        - Parser_skipWhiteSpaces
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:634,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlparser.c:639,7'
          Dst:             Parser_skipString
        - Src:             'ixml/src/ixmlparser.c:640,2'
          Dst:             Parser_skipWhiteSpaces
    - functionName:    Parser_skipBom
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 604
      functionLinenumberEnd: 609
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strlen
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:605,19'
          Dst:             strlen
        - Src:             'ixml/src/ixmlparser.c:607,6'
          Dst:             strncmp
    - functionName:    Parser_eTagVerification
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2537
      functionLinenumberEnd: 2563
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          98
      EdgeCount:       20
      CyclomaticComplexity: 3
      functionsReached:
        - Parser_isValidEndElement
        - Parser_popElement
        - __assert_fail
        - strcmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ixml/src/ixmlparser.c:2541,2'
          Branch Sides:    []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:2538,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlparser.c:2539,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlparser.c:2543,7'
          Dst:             Parser_isValidEndElement
        - Src:             'ixml/src/ixmlparser.c:2544,4'
          Dst:             Parser_popElement
        - Src:             'ixml/src/ixmlparser.c:2554,6'
          Dst:             strcmp
    - functionName:    Parser_processAttributeName
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2275
      functionLinenumberEnd: 2300
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          89
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - isDuplicateAttribute
        - ixmlAttr_free
        - ixmlDocument_createAttributeEx
        - ixmlElement_setAttributeNode
        - ixmlNode_setNodeProperties
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:2279,6'
          Dst:             isDuplicateAttribute
        - Src:             'ixml/src/ixmlparser.c:2283,7'
          Dst:             ixmlDocument_createAttributeEx
        - Src:             'ixml/src/ixmlparser.c:2288,7'
          Dst:             ixmlNode_setNodeProperties
        - Src:             'ixml/src/ixmlparser.c:2290,3'
          Dst:             ixmlAttr_free
        - Src:             'ixml/src/ixmlparser.c:2294,7'
          Dst:             ixmlElement_setAttributeNode
        - Src:             'ixml/src/ixmlparser.c:2297,3'
          Dst:             ixmlAttr_free
    - functionName:    Parser_processElementName
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2412
      functionLinenumberEnd: 2478
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          181
      EdgeCount:       34
      CyclomaticComplexity: 9
      functionsReached:
        - Parser_ElementPrefixDefined
        - Parser_hasDefaultNamespace
        - Parser_pushElement
        - Parser_setElementNamespace
        - isTopLevelElement
        - ixmlDocument_createElementEx
        - ixmlElement_free
        - ixmlNode_appendChild
        - ixmlNode_setNodeProperties
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ixml/src/ixmlparser.c:2454,4'
          Branch Sides:    []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:2418,7'
          Dst:             isTopLevelElement
        - Src:             'ixml/src/ixmlparser.c:2426,7'
          Dst:             ixmlDocument_createElementEx
        - Src:             'ixml/src/ixmlparser.c:2432,7'
          Dst:             ixmlNode_setNodeProperties
        - Src:             'ixml/src/ixmlparser.c:2434,3'
          Dst:             ixmlElement_free
        - Src:             'ixml/src/ixmlparser.c:2440,8'
          Dst:             Parser_ElementPrefixDefined
        - Src:             'ixml/src/ixmlparser.c:2446,4'
          Dst:             Parser_setElementNamespace
        - Src:             'ixml/src/ixmlparser.c:2451,7'
          Dst:             Parser_hasDefaultNamespace
        - Src:             'ixml/src/ixmlparser.c:2452,4'
          Dst:             Parser_setElementNamespace
        - Src:             'ixml/src/ixmlparser.c:2466,7'
          Dst:             ixmlNode_appendChild
        - Src:             'ixml/src/ixmlparser.c:2469,3'
          Dst:             ixmlElement_free
        - Src:             'ixml/src/ixmlparser.c:2476,7'
          Dst:             Parser_pushElement
    - functionName:    Parser_getNextNode
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2066
      functionLinenumberEnd: 2166
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          277
      EdgeCount:       61
      CyclomaticComplexity: 15
      functionsReached:
        - IxmlPrintf
        - Parser_getNextToken
        - Parser_processAttribute
        - Parser_processContent
        - Parser_processETag
        - Parser_processSTag
        - Parser_skipWhiteSpaces
        - safe_strdup
        - strcmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ixml/src/ixmlparser.c:2081,2'
          Branch Sides:    []
        - Branch String:   'ixml/src/ixmlparser.c:2136,4'
          Branch Sides:    []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:2084,9'
          Dst:             Parser_processContent
        - Src:             'ixml/src/ixmlparser.c:2087,3'
          Dst:             Parser_skipWhiteSpaces
        - Src:             'ixml/src/ixmlparser.c:2088,14'
          Dst:             Parser_getNextToken
        - Src:             'ixml/src/ixmlparser.c:2106,14'
          Dst:             strcmp
        - Src:             'ixml/src/ixmlparser.c:2109,10'
          Dst:             Parser_processETag
        - Src:             'ixml/src/ixmlparser.c:2113,10'
          Dst:             Parser_processSTag
        - Src:             'ixml/src/ixmlparser.c:2115,14'
          Dst:             strcmp
        - Src:             'ixml/src/ixmlparser.c:2123,21'
          Dst:             safe_strdup
        - Src:             'ixml/src/ixmlparser.c:2138,9'
          Dst:             Parser_processAttribute
        - Src:             'ixml/src/ixmlparser.c:2159,3'
          Dst:             IxmlPrintf
    - functionName:    Parser_skipProlog
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 715
      functionLinenumberEnd: 748
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          125
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - Parser_skipBom
        - Parser_skipDocType
        - Parser_skipMisc
        - Parser_skipWhiteSpaces
        - Parser_skipXMLDecl
        - __assert_fail
        - strlen
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:718,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlparser.c:723,2'
          Dst:             Parser_skipBom
        - Src:             'ixml/src/ixmlparser.c:724,2'
          Dst:             Parser_skipWhiteSpaces
        - Src:             'ixml/src/ixmlparser.c:726,42'
          Dst:             strlen
        - Src:             'ixml/src/ixmlparser.c:726,6'
          Dst:             strncmp
        - Src:             'ixml/src/ixmlparser.c:728,8'
          Dst:             Parser_skipXMLDecl
        - Src:             'ixml/src/ixmlparser.c:734,7'
          Dst:             Parser_skipMisc
        - Src:             'ixml/src/ixmlparser.c:737,10'
          Dst:             strlen
        - Src:             'ixml/src/ixmlparser.c:735,30'
          Dst:             strncmp
        - Src:             'ixml/src/ixmlparser.c:740,8'
          Dst:             Parser_skipDocType
        - Src:             'ixml/src/ixmlparser.c:744,8'
          Dst:             Parser_skipMisc
    - functionName:    Parser_freeNodeContent
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2854
      functionLinenumberEnd: 2878
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          105
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Parser_parseDocument
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2575
      functionLinenumberEnd: 2703
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         43
      ICount:          248
      EdgeCount:       56
      CyclomaticComplexity: 15
      functionsReached:
        - Parser_eTagVerification
        - Parser_free
        - Parser_freeNodeContent
        - Parser_getNextNode
        - Parser_processAttributeName
        - Parser_processElementName
        - Parser_skipProlog
        - ixmlDocument_createCDATASectionEx
        - ixmlDocument_createDocumentEx
        - ixmlDocument_createTextNodeEx
        - ixmlDocument_free
        - ixmlNode_appendChild
        - ixmlNode_free
        - ixmlNode_init
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ixml/src/ixmlparser.c:2609,5'
          Branch Sides:    []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:2585,2'
          Dst:             ixmlNode_init
        - Src:             'ixml/src/ixmlparser.c:2587,7'
          Dst:             ixmlDocument_createDocumentEx
        - Src:             'ixml/src/ixmlparser.c:2594,7'
          Dst:             Parser_skipProlog
        - Src:             'ixml/src/ixmlparser.c:2604,3'
          Dst:             ixmlNode_init
        - Src:             'ixml/src/ixmlparser.c:2606,7'
          Dst:             Parser_getNextNode
        - Src:             'ixml/src/ixmlparser.c:2611,11'
          Dst:             Parser_processElementName
        - Src:             'ixml/src/ixmlparser.c:2619,11'
          Dst:             ixmlDocument_createTextNodeEx
        - Src:             'ixml/src/ixmlparser.c:2627,11'
          Dst:             ixmlNode_appendChild
        - Src:             'ixml/src/ixmlparser.c:2631,7'
          Dst:             ixmlNode_free
        - Src:             'ixml/src/ixmlparser.c:2638,11'
          Dst:             ixmlDocument_createCDATASectionEx
        - Src:             'ixml/src/ixmlparser.c:2645,11'
          Dst:             ixmlNode_appendChild
        - Src:             'ixml/src/ixmlparser.c:2649,7'
          Dst:             ixmlNode_free
        - Src:             'ixml/src/ixmlparser.c:2656,11'
          Dst:             Parser_processAttributeName
        - Src:             'ixml/src/ixmlparser.c:2668,10'
          Dst:             Parser_eTagVerification
        - Src:             'ixml/src/ixmlparser.c:2686,3'
          Dst:             Parser_freeNodeContent
        - Src:             'ixml/src/ixmlparser.c:2695,2'
          Dst:             Parser_free
        - Src:             'ixml/src/ixmlparser.c:2699,2'
          Dst:             Parser_freeNodeContent
        - Src:             'ixml/src/ixmlparser.c:2700,2'
          Dst:             ixmlDocument_free
        - Src:             'ixml/src/ixmlparser.c:2701,2'
          Dst:             Parser_free
    - functionName:    Parser_free
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 492
      functionLinenumberEnd: 527
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          97
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - Parser_freeElementStackItem
        - Parser_freeNsURI
        - ixml_membuf_destroy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:506,2'
          Dst:             ixml_membuf_destroy
        - Src:             'ixml/src/ixmlparser.c:507,2'
          Dst:             ixml_membuf_destroy
        - Src:             'ixml/src/ixmlparser.c:511,3'
          Dst:             Parser_freeElementStackItem
        - Src:             'ixml/src/ixmlparser.c:516,4'
          Dst:             Parser_freeNsURI
    - functionName:    Parser_readFileOrBuffer
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2774
      functionLinenumberEnd: 2819
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          117
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - fclose
        - fopen
        - fread
        - fseek
        - ftell
        - safe_strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:2783,16'
          Dst:             fopen
        - Src:             'ixml/src/ixmlparser.c:2788,4'
          Dst:             fseek
        - Src:             'ixml/src/ixmlparser.c:2789,15'
          Dst:             ftell
        - Src:             'ixml/src/ixmlparser.c:2791,5'
          Dst:             fclose
        - Src:             'ixml/src/ixmlparser.c:2798,5'
          Dst:             fclose
        - Src:             'ixml/src/ixmlparser.c:2802,4'
          Dst:             fseek
        - Src:             'ixml/src/ixmlparser.c:2803,16'
          Dst:             fread
        - Src:             'ixml/src/ixmlparser.c:2809,4'
          Dst:             fclose
        - Src:             'ixml/src/ixmlparser.c:2812,27'
          Dst:             safe_strdup
    - functionName:    fseek
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ftell
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Parser_init
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2747
      functionLinenumberEnd: 2760
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ixml_membuf_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:2756,2'
          Dst:             ixml_membuf_init
        - Src:             'ixml/src/ixmlparser.c:2757,2'
          Dst:             ixml_membuf_init
    - functionName:    Parser_LoadDocument
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2833
      functionLinenumberEnd: 2851
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          66
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - Parser_free
        - Parser_init
        - Parser_parseDocument
        - Parser_readFileOrBuffer
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:2837,14'
          Dst:             Parser_init
        - Src:             'ixml/src/ixmlparser.c:2842,7'
          Dst:             Parser_readFileOrBuffer
        - Src:             'ixml/src/ixmlparser.c:2844,3'
          Dst:             Parser_free
        - Src:             'ixml/src/ixmlparser.c:2849,7'
          Dst:             Parser_parseDocument
    - functionName:    Parser_getBeforeFree
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2736
      functionLinenumberEnd: 2737
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Parser_setBeforeFree
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2731
      functionLinenumberEnd: 2733
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Parser_setErrorChar
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2727
      functionLinenumberEnd: 2727
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Parser_isValidXmlName
      functionSourceFile: '/src/pupnp/ixml/src/ixmlparser.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2706
      functionLinenumberEnd: 2725
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          81
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - Parser_isNameChar
        - __assert_fail
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/ixmlparser.c:2711,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/ixmlparser.c:2713,12'
          Dst:             strlen
        - Src:             'ixml/src/ixmlparser.c:2715,6'
          Dst:             Parser_isNameChar
        - Src:             'ixml/src/ixmlparser.c:2717,8'
          Dst:             Parser_isNameChar
    - functionName:    ixmlNode_newDoc
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 843
      functionLinenumberEnd: 862
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          54
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - ixmlDocument_free
        - ixmlDocument_init
        - ixmlNode_setNodeName
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:852,2'
          Dst:             ixmlDocument_init
        - Src:             'ixml/src/node.c:854,7'
          Dst:             ixmlNode_setNodeName
        - Src:             'ixml/src/node.c:856,3'
          Dst:             ixmlDocument_free
    - functionName:    ixmlNode_setNodeName
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1356
      functionLinenumberEnd: 1378
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          93
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - Parser_setNodePrefixAndLocalName
        - __assert_fail
        - strdup
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:1359,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/node.c:1367,20'
          Dst:             strdup
        - Src:             'ixml/src/node.c:1371,8'
          Dst:             Parser_setNodePrefixAndLocalName
    - functionName:    ixmlNode_cloneCDATASect
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 748
      functionLinenumberEnd: 774
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          88
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - ixmlCDATASection_free
        - ixmlCDATASection_init
        - ixmlNode_setNodeName
        - ixmlNode_setNodeValue
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:754,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/node.c:758,3'
          Dst:             ixmlCDATASection_init
        - Src:             'ixml/src/node.c:760,8'
          Dst:             ixmlNode_setNodeName
        - Src:             'ixml/src/node.c:762,4'
          Dst:             ixmlCDATASection_free
        - Src:             'ixml/src/node.c:765,8'
          Dst:             ixmlNode_setNodeValue
        - Src:             'ixml/src/node.c:767,4'
          Dst:             ixmlCDATASection_free
    - functionName:    ixmlCDATASection_init
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlCDATASection_free
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          26
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ixmlNode_free
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:61,3'
          Dst:             ixmlNode_free
    - functionName:    ixmlNode_setNodeValue
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 319
      functionLinenumberEnd: 337
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          76
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - strdup
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:330,24'
          Dst:             strdup
    - functionName:    ixmlNode_free
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         32
      ICount:          172
      EdgeCount:       41
      CyclomaticComplexity: 11
      functionsReached:
        - Parser_getBeforeFree
        - ixmlNode_freeSingleNode
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:137,35'
          Dst:             Parser_getBeforeFree
        - Src:             'ixml/src/node.c:162,5'
          Dst:             ixmlNode_freeSingleNode
        - Src:             'ixml/src/node.c:185,4'
          Dst:             ixmlNode_freeSingleNode
    - functionName:    ixmlNode_freeSingleNode
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          130
      EdgeCount:       29
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'ixml/src/node.c:90,3'
          Branch Sides:    []
      Callsites:       []
    - functionName:    ixmlNode_cloneTextNode
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 713
      functionLinenumberEnd: 738
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          83
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - ixmlNode_free
        - ixmlNode_init
        - ixmlNode_setNodeName
        - ixmlNode_setNodeValue
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:717,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/node.c:723,3'
          Dst:             ixmlNode_init
        - Src:             'ixml/src/node.c:724,8'
          Dst:             ixmlNode_setNodeName
        - Src:             'ixml/src/node.c:726,4'
          Dst:             ixmlNode_free
        - Src:             'ixml/src/node.c:729,8'
          Dst:             ixmlNode_setNodeValue
        - Src:             'ixml/src/node.c:731,4'
          Dst:             ixmlNode_free
    - functionName:    ixmlNode_init
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:48,2'
          Dst:             __assert_fail
    - functionName:    ixmlNode_cloneSingleNode
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 942
      functionLinenumberEnd: 960
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          68
      EdgeCount:       12
      CyclomaticComplexity: 2
      functionsReached:
        - ixmlNode_cloneAttr
        - ixmlNode_cloneCDATASect
        - ixmlNode_cloneElement
        - ixmlNode_cloneTextNode
        - ixmlNode_newDoc
      functionUses:    3
      BranchProfiles:
        - Branch String:   'ixml/src/node.c:945,2'
          Branch Sides:    []
      Callsites:
        - Src:             'ixml/src/node.c:947,23'
          Dst:             ixmlNode_cloneElement
        - Src:             'ixml/src/node.c:949,23'
          Dst:             ixmlNode_cloneAttr
        - Src:             'ixml/src/node.c:951,10'
          Dst:             ixmlNode_cloneTextNode
        - Src:             'ixml/src/node.c:953,23'
          Dst:             ixmlNode_cloneCDATASect
        - Src:             'ixml/src/node.c:956,23'
          Dst:             ixmlNode_newDoc
    - functionName:    ixmlNode_cloneElement
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 784
      functionLinenumberEnd: 832
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          155
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - __assert_fail
        - ixmlElement_free
        - ixmlElement_init
        - ixmlElement_setTagName
        - ixmlNode_setLocalName
        - ixmlNode_setNamespaceURI
        - ixmlNode_setNodeName
        - ixmlNode_setNodeValue
        - ixmlNode_setPrefix
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:790,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/node.c:796,2'
          Dst:             ixmlElement_init
        - Src:             'ixml/src/node.c:797,7'
          Dst:             ixmlElement_setTagName
        - Src:             'ixml/src/node.c:799,3'
          Dst:             ixmlElement_free
        - Src:             'ixml/src/node.c:804,7'
          Dst:             ixmlNode_setNodeName
        - Src:             'ixml/src/node.c:806,3'
          Dst:             ixmlElement_free
        - Src:             'ixml/src/node.c:809,7'
          Dst:             ixmlNode_setNodeValue
        - Src:             'ixml/src/node.c:811,3'
          Dst:             ixmlElement_free
        - Src:             'ixml/src/node.c:814,7'
          Dst:             ixmlNode_setNamespaceURI
        - Src:             'ixml/src/node.c:816,3'
          Dst:             ixmlElement_free
        - Src:             'ixml/src/node.c:819,7'
          Dst:             ixmlNode_setPrefix
        - Src:             'ixml/src/node.c:821,3'
          Dst:             ixmlElement_free
        - Src:             'ixml/src/node.c:824,7'
          Dst:             ixmlNode_setLocalName
        - Src:             'ixml/src/node.c:826,3'
          Dst:             ixmlElement_free
    - functionName:    ixmlNode_cloneAttr
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 872
      functionLinenumberEnd: 917
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          138
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
        - ixmlAttr_free
        - ixmlAttr_init
        - ixmlNode_setLocalName
        - ixmlNode_setNamespaceURI
        - ixmlNode_setNodeName
        - ixmlNode_setNodeValue
        - ixmlNode_setPrefix
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:878,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/node.c:884,2'
          Dst:             ixmlAttr_init
        - Src:             'ixml/src/node.c:887,7'
          Dst:             ixmlNode_setNodeName
        - Src:             'ixml/src/node.c:889,3'
          Dst:             ixmlAttr_free
        - Src:             'ixml/src/node.c:892,7'
          Dst:             ixmlNode_setNodeValue
        - Src:             'ixml/src/node.c:894,3'
          Dst:             ixmlAttr_free
        - Src:             'ixml/src/node.c:899,7'
          Dst:             ixmlNode_setNamespaceURI
        - Src:             'ixml/src/node.c:901,3'
          Dst:             ixmlAttr_free
        - Src:             'ixml/src/node.c:904,7'
          Dst:             ixmlNode_setPrefix
        - Src:             'ixml/src/node.c:906,3'
          Dst:             ixmlAttr_free
        - Src:             'ixml/src/node.c:909,7'
          Dst:             ixmlNode_setLocalName
        - Src:             'ixml/src/node.c:911,3'
          Dst:             ixmlAttr_free
    - functionName:    ixmlNode_setNamespaceURI
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 216
      functionLinenumberEnd: 232
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          73
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - strdup
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:225,27'
          Dst:             strdup
    - functionName:    ixmlNode_setPrefix
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 242
      functionLinenumberEnd: 258
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          73
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - strdup
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:251,21'
          Dst:             strdup
    - functionName:    ixmlNode_setLocalName
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 270
      functionLinenumberEnd: 285
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          74
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - strdup
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:271,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/node.c:278,24'
          Dst:             strdup
    - functionName:    ixmlNode_cloneNodeTreeRecursive
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 972
      functionLinenumberEnd: 1049
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         43
      ICount:          265
      EdgeCount:       58
      CyclomaticComplexity: 17
      functionsReached:
        - ixmlNode_cloneAttr
        - ixmlNode_cloneSingleNode
        - ixmlNode_free
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:984,14'
          Dst:             ixmlNode_cloneSingleNode
        - Src:             'ixml/src/node.c:995,34'
          Dst:             ixmlNode_cloneAttr
        - Src:             'ixml/src/node.c:1014,9'
          Dst:             ixmlNode_cloneSingleNode
        - Src:             'ixml/src/node.c:1027,10'
          Dst:             ixmlNode_cloneSingleNode
        - Src:             'ixml/src/node.c:1047,2'
          Dst:             ixmlNode_free
    - functionName:    ixmlNode_getCTag
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1431
      functionLinenumberEnd: 1437
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlNode_setCTag
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1424
      functionLinenumberEnd: 1428
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          23
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlNode_setNodeProperties
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1381
      functionLinenumberEnd: 1420
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         31
      ICount:          166
      EdgeCount:       40
      CyclomaticComplexity: 11
      functionsReached:
        - __assert_fail
        - ixmlNode_setLocalName
        - ixmlNode_setNodeValue
        - ixmlNode_setPrefix
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:1384,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/node.c:1388,7'
          Dst:             ixmlNode_setNodeValue
        - Src:             'ixml/src/node.c:1392,7'
          Dst:             ixmlNode_setLocalName
        - Src:             'ixml/src/node.c:1396,7'
          Dst:             ixmlNode_setPrefix
    - functionName:    ixmlNode_getElementsByTagNameNSRecursive
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1296
      functionLinenumberEnd: 1327
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          198
      EdgeCount:       58
      CyclomaticComplexity: 17
      functionsReached:
        - ixmlNodeList_addToNodeList
        - ixmlNode_getLocalName
        - ixmlNode_getNamespaceURI
        - ixmlNode_getNodeType
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:1307,7'
          Dst:             ixmlNode_getNodeType
        - Src:             'ixml/src/node.c:1308,11'
          Dst:             ixmlNode_getLocalName
        - Src:             'ixml/src/node.c:1309,12'
          Dst:             ixmlNode_getNamespaceURI
        - Src:             'ixml/src/node.c:1311,6'
          Dst:             strcmp
        - Src:             'ixml/src/node.c:1312,6'
          Dst:             strcmp
        - Src:             'ixml/src/node.c:1313,6'
          Dst:             strcmp
        - Src:             'ixml/src/node.c:1314,6'
          Dst:             strcmp
        - Src:             'ixml/src/node.c:1315,5'
          Dst:             ixmlNodeList_addToNodeList
    - functionName:    ixmlNode_getNodeType
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 340
      functionLinenumberEnd: 346
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    21
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlNode_getLocalName
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 206
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlNode_getNamespaceURI
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 288
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlNode_getElementsByTagNameNS
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1333
      functionLinenumberEnd: 1353
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          132
      EdgeCount:       38
      CyclomaticComplexity: 11
      functionsReached:
        - __assert_fail
        - ixmlNodeList_addToNodeList
        - ixmlNode_getElementsByTagNameNSRecursive
        - ixmlNode_getFirstChild
        - ixmlNode_getLocalName
        - ixmlNode_getNamespaceURI
        - ixmlNode_getNodeType
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:1337,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/node.c:1339,6'
          Dst:             ixmlNode_getNodeType
        - Src:             'ixml/src/node.c:1340,10'
          Dst:             ixmlNode_getLocalName
        - Src:             'ixml/src/node.c:1341,11'
          Dst:             ixmlNode_getNamespaceURI
        - Src:             'ixml/src/node.c:1343,5'
          Dst:             strcmp
        - Src:             'ixml/src/node.c:1344,5'
          Dst:             strcmp
        - Src:             'ixml/src/node.c:1345,5'
          Dst:             strcmp
        - Src:             'ixml/src/node.c:1346,5'
          Dst:             strcmp
        - Src:             'ixml/src/node.c:1347,4'
          Dst:             ixmlNodeList_addToNodeList
        - Src:             'ixml/src/node.c:1352,3'
          Dst:             ixmlNode_getFirstChild
        - Src:             'ixml/src/node.c:1351,2'
          Dst:             ixmlNode_getElementsByTagNameNSRecursive
    - functionName:    ixmlNode_getFirstChild
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 358
      functionLinenumberEnd: 364
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    26
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlNode_getElementsByTagNameRecursive
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1239
      functionLinenumberEnd: 1265
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          155
      EdgeCount:       45
      CyclomaticComplexity: 13
      functionsReached:
        - ixmlNodeList_addToNodeList
        - ixmlNode_getNodeName
        - ixmlNode_getNodeType
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:1249,7'
          Dst:             ixmlNode_getNodeType
        - Src:             'ixml/src/node.c:1250,11'
          Dst:             ixmlNode_getNodeName
        - Src:             'ixml/src/node.c:1251,8'
          Dst:             strcmp
        - Src:             'ixml/src/node.c:1252,5'
          Dst:             strcmp
        - Src:             'ixml/src/node.c:1253,5'
          Dst:             ixmlNodeList_addToNodeList
    - functionName:    ixmlNode_getNodeName
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 191
      functionLinenumberEnd: 197
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    16
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlNode_getElementsByTagName
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1269
      functionLinenumberEnd: 1282
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          81
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - ixmlNodeList_addToNodeList
        - ixmlNode_getElementsByTagNameRecursive
        - ixmlNode_getFirstChild
        - ixmlNode_getNodeName
        - ixmlNode_getNodeType
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:1272,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/node.c:1274,6'
          Dst:             ixmlNode_getNodeType
        - Src:             'ixml/src/node.c:1275,10'
          Dst:             ixmlNode_getNodeName
        - Src:             'ixml/src/node.c:1276,7'
          Dst:             strcmp
        - Src:             'ixml/src/node.c:1276,37'
          Dst:             strcmp
        - Src:             'ixml/src/node.c:1277,4'
          Dst:             ixmlNodeList_addToNodeList
        - Src:             'ixml/src/node.c:1281,3'
          Dst:             ixmlNode_getFirstChild
        - Src:             'ixml/src/node.c:1280,2'
          Dst:             ixmlNode_getElementsByTagNameRecursive
    - functionName:    ixmlNode_hasAttributes
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1213
      functionLinenumberEnd: 1226
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          42
      EdgeCount:       10
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ixml/src/node.c:1215,3'
          Branch Sides:    []
      Callsites:       []
    - functionName:    ixmlNode_hasChildNodes
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1204
      functionLinenumberEnd: 1210
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          26
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlNode_getAttributes
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1170
      functionLinenumberEnd: 1201
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          85
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - ixmlNamedNodeMap_addToNamedNodeMap
        - ixmlNamedNodeMap_free
        - ixmlNamedNodeMap_init
      functionUses:    0
      BranchProfiles:
        - Branch String:   'ixml/src/node.c:1178,2'
          Branch Sides:    []
      Callsites:
        - Src:             'ixml/src/node.c:1185,3'
          Dst:             ixmlNamedNodeMap_init
        - Src:             'ixml/src/node.c:1188,9'
          Dst:             ixmlNamedNodeMap_addToNamedNodeMap
        - Src:             'ixml/src/node.c:1191,5'
          Dst:             ixmlNamedNodeMap_free
    - functionName:    ixmlNode_getChildNodes
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1143
      functionLinenumberEnd: 1167
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          73
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - ixmlNodeList_addToNodeList
        - ixmlNodeList_free
        - ixmlNodeList_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:1155,2'
          Dst:             ixmlNodeList_init
        - Src:             'ixml/src/node.c:1158,8'
          Dst:             ixmlNodeList_addToNodeList
        - Src:             'ixml/src/node.c:1160,4'
          Dst:             ixmlNodeList_free
    - functionName:    ixmlNode_cloneNodeTree
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1061
      functionLinenumberEnd: 1119
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          180
      EdgeCount:       38
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - ixmlNode_cloneElement
        - ixmlNode_cloneNodeTreeRecursive
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ixml/src/node.c:1068,2'
          Branch Sides:    []
      Callsites:
        - Src:             'ixml/src/node.c:1066,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/node.c:1070,16'
          Dst:             ixmlNode_cloneElement
        - Src:             'ixml/src/node.c:1074,29'
          Dst:             ixmlNode_cloneNodeTreeRecursive
        - Src:             'ixml/src/node.c:1078,5'
          Dst:             ixmlNode_cloneNodeTreeRecursive
        - Src:             'ixml/src/node.c:1093,13'
          Dst:             ixmlNode_cloneNodeTreeRecursive
    - functionName:    ixmlNode_cloneAttrDirect
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 927
      functionLinenumberEnd: 937
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          41
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - ixmlNode_cloneAttr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:930,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/node.c:932,12'
          Dst:             ixmlNode_cloneAttr
    - functionName:    ixmlNode_cloneNode
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1122
      functionLinenumberEnd: 1139
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - ixmlNode_cloneAttrDirect
        - ixmlNode_cloneNodeTree
      functionUses:    1
      BranchProfiles:
        - Branch String:   'ixml/src/node.c:1128,2'
          Branch Sides:    []
      Callsites:
        - Src:             'ixml/src/node.c:1130,23'
          Dst:             ixmlNode_cloneAttrDirect
        - Src:             'ixml/src/node.c:1134,10'
          Dst:             ixmlNode_cloneNodeTree
    - functionName:    ixmlNode_replaceChild
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 600
      functionLinenumberEnd: 629
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          118
      EdgeCount:       29
      CyclomaticComplexity: 10
      functionsReached:
        - ixmlNode_allowChildren
        - ixmlNode_insertBefore
        - ixmlNode_isAncestor
        - ixmlNode_isParent
        - ixmlNode_removeChild
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:609,6'
          Dst:             ixmlNode_isAncestor
        - Src:             'ixml/src/node.c:612,6'
          Dst:             ixmlNode_allowChildren
        - Src:             'ixml/src/node.c:620,6'
          Dst:             ixmlNode_isParent
        - Src:             'ixml/src/node.c:623,8'
          Dst:             ixmlNode_insertBefore
        - Src:             'ixml/src/node.c:627,8'
          Dst:             ixmlNode_removeChild
    - functionName:    ixmlNode_isAncestor
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 421
      functionLinenumberEnd: 444
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         28
      ICount:          128
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlNode_allowChildren
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 480
      functionLinenumberEnd: 510
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          97
      EdgeCount:       50
      CyclomaticComplexity: 26
      functionsReached:
        - __assert_fail
      functionUses:    3
      BranchProfiles:
        - Branch String:   'ixml/src/node.c:483,2'
          Branch Sides:    []
        - Branch String:   'ixml/src/node.c:489,3'
          Branch Sides:    []
        - Branch String:   'ixml/src/node.c:498,3'
          Branch Sides:    []
      Callsites:
        - Src:             'ixml/src/node.c:481,2'
          Dst:             __assert_fail
    - functionName:    ixmlNode_isParent
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 456
      functionLinenumberEnd: 465
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          60
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:459,2'
          Dst:             __assert_fail
    - functionName:    ixmlNode_insertBefore
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 551
      functionLinenumberEnd: 594
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          175
      EdgeCount:       39
      CyclomaticComplexity: 12
      functionsReached:
        - ixmlNode_allowChildren
        - ixmlNode_appendChild
        - ixmlNode_isAncestor
        - ixmlNode_isParent
        - ixmlNode_removeChild
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:558,6'
          Dst:             ixmlNode_allowChildren
        - Src:             'ixml/src/node.c:562,6'
          Dst:             ixmlNode_isAncestor
        - Src:             'ixml/src/node.c:570,6'
          Dst:             ixmlNode_isParent
        - Src:             'ixml/src/node.c:574,7'
          Dst:             ixmlNode_isParent
        - Src:             'ixml/src/node.c:575,4'
          Dst:             ixmlNode_removeChild
        - Src:             'ixml/src/node.c:590,9'
          Dst:             ixmlNode_appendChild
    - functionName:    ixmlNode_removeChild
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 633
      functionLinenumberEnd: 659
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          135
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - ixmlNode_free
        - ixmlNode_isParent
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:637,7'
          Dst:             ixmlNode_isParent
        - Src:             'ixml/src/node.c:655,3'
          Dst:             ixmlNode_free
    - functionName:    ixmlNode_appendChild
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 662
      functionLinenumberEnd: 703
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          161
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - ixmlNode_allowChildren
        - ixmlNode_isAncestor
        - ixmlNode_isParent
        - ixmlNode_removeChild
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:675,6'
          Dst:             ixmlNode_isAncestor
        - Src:             'ixml/src/node.c:679,6'
          Dst:             ixmlNode_allowChildren
        - Src:             'ixml/src/node.c:682,6'
          Dst:             ixmlNode_isParent
        - Src:             'ixml/src/node.c:683,3'
          Dst:             ixmlNode_removeChild
    - functionName:    safe_strcmp
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 514
      functionLinenumberEnd: 520
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          50
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - strcmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:519,9'
          Dst:             strcmp
    - functionName:    ixmlNode_compare
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 535
      functionLinenumberEnd: 545
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          126
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - __assert_fail
        - safe_strcmp
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/node.c:536,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/node.c:540,10'
          Dst:             strcmp
        - Src:             'ixml/src/node.c:541,3'
          Dst:             safe_strcmp
        - Src:             'ixml/src/node.c:543,3'
          Dst:             safe_strcmp
        - Src:             'ixml/src/node.c:544,3'
          Dst:             safe_strcmp
        - Src:             'ixml/src/node.c:545,3'
          Dst:             safe_strcmp
    - functionName:    ixmlNode_getOwnerDocument
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 403
      functionLinenumberEnd: 409
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlNode_getNextSibling
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 394
      functionLinenumberEnd: 400
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlNode_getPreviousSibling
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 385
      functionLinenumberEnd: 391
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlNode_getLastChild
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 367
      functionLinenumberEnd: 382
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          44
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlNode_getParentNode
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 355
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlNode_getNodeValue
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 310
      functionLinenumberEnd: 316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlNode_getPrefix
      functionSourceFile: '/src/pupnp/ixml/src/node.c'
      linkageType:     InternalLinkage
      functionLinenumber: 299
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlNodeList_free
      functionSourceFile: '/src/pupnp/ixml/src/nodeList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    16
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlNodeList_addToNodeList
      functionSourceFile: '/src/pupnp/ixml/src/nodeList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          125
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
        - ixmlNodeList_init
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/nodeList.c:83,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/nodeList.c:96,3'
          Dst:             ixmlNodeList_init
    - functionName:    ixmlNodeList_init
      functionSourceFile: '/src/pupnp/ixml/src/nodeList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/nodeList.c:46,2'
          Dst:             __assert_fail
    - functionName:    ixmlNodeList_length
      functionSourceFile: '/src/pupnp/ixml/src/nodeList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          30
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlNodeList_item
      functionSourceFile: '/src/pupnp/ixml/src/nodeList.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          89
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - ixmlNodeList_length
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/nodeList.c:61,14'
          Dst:             ixmlNodeList_length
    - functionName:    ixmlAttr_free
      functionSourceFile: '/src/pupnp/ixml/src/attr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          26
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ixmlNode_free
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/attr.c:48,3'
          Dst:             ixmlNode_free
    - functionName:    ixmlAttr_init
      functionSourceFile: '/src/pupnp/ixml/src/attr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          19
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlNamedNodeMap_addToNamedNodeMap
      functionSourceFile: '/src/pupnp/ixml/src/namedNodeMap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 148
      functionLinenumberEnd: 185
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          119
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - ixmlNamedNodeMap_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/namedNodeMap.c:163,3'
          Dst:             ixmlNamedNodeMap_init
    - functionName:    ixmlNamedNodeMap_init
      functionSourceFile: '/src/pupnp/ixml/src/namedNodeMap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/namedNodeMap.c:75,2'
          Dst:             __assert_fail
    - functionName:    ixmlNamedNodeMap_free
      functionSourceFile: '/src/pupnp/ixml/src/namedNodeMap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlNamedNodeMap_getLength
      functionSourceFile: '/src/pupnp/ixml/src/namedNodeMap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 132
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ixmlNamedNodeMap_item
      functionSourceFile: '/src/pupnp/ixml/src/namedNodeMap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          81
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - ixmlNamedNodeMap_getLength
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/namedNodeMap.c:108,14'
          Dst:             ixmlNamedNodeMap_getLength
    - functionName:    ixmlNamedNodeMap_getItemNumber
      functionSourceFile: '/src/pupnp/ixml/src/namedNodeMap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          90
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/namedNodeMap.c:56,2'
          Dst:             __assert_fail
        - Src:             'ixml/src/namedNodeMap.c:63,7'
          Dst:             strcmp
    - functionName:    ixmlNamedNodeMap_getNamedItem
      functionSourceFile: '/src/pupnp/ixml/src/namedNodeMap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          55
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - ixmlNamedNodeMap_getItemNumber
        - ixmlNamedNodeMap_item
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'ixml/src/namedNodeMap.c:89,10'
          Dst:             ixmlNamedNodeMap_getItemNumber
        - Src:             'ixml/src/namedNodeMap.c:93,10'
          Dst:             ixmlNamedNodeMap_item
...
