---
Fuzzer filename: '/src/libwebsockets/lws_upng_inflate_fuzzer.cpp'
All functions:
  Function list name: All functions
  Elements:
    - functionName:    _ZNSt14numeric_limitsImE3maxEv
      functionSourceFile: '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/limits'
      linkageType:     InternalLinkage
      functionLinenumber: 1274
      functionLinenumberEnd: 1274
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _ZNSt14numeric_limitsIcE3maxEv
      functionSourceFile: '/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/limits'
      linkageType:     InternalLinkage
      functionLinenumber: 461
      functionLinenumberEnd: 461
      functionDepth:   0
      returnType:      char
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    abort
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __gxx_personality_v0
      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:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev
      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:    _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev
      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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13shrink_to_fitEv
      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:    _ZL19lws_api_test_gunzipR18FuzzedDataProvider
      functionSourceFile: '/src/libwebsockets/lws_upng_inflate_fuzzer.cpp'
      linkageType:     InternalLinkage
      functionLinenumber: 20
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          78
      EdgeCount:       26
      CyclomaticComplexity: 14
      functionsReached:
        - _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev
        - lws_upng_inflate_data
        - lws_upng_inflator_create
        - lws_upng_inflator_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lws_upng_inflate_fuzzer.cpp:27,10'
          Dst:             lws_upng_inflator_create
        - Src:             'lws_upng_inflate_fuzzer.cpp:36,1'
          Dst:             _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev
        - Src:             'lws_upng_inflate_fuzzer.cpp:31,3'
          Dst:             lws_upng_inflate_data
        - Src:             'lws_upng_inflate_fuzzer.cpp:35,5'
          Dst:             lws_upng_inflator_destroy
        - Src:             'lws_upng_inflate_fuzzer.cpp:36,1'
          Dst:             _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev
    - functionName:    LLVMFuzzerTestOneInput
      functionSourceFile: '/src/libwebsockets/lws_upng_inflate_fuzzer.cpp'
      linkageType:     externalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       11
      CyclomaticComplexity: 7
      functionsReached:
        - _ZL19lws_api_test_gunzipR18FuzzedDataProvider
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lws_upng_inflate_fuzzer.cpp:41,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lws_upng_inflate_fuzzer.cpp:43,5'
          Dst:             _ZL19lws_api_test_gunzipR18FuzzedDataProvider
    - functionName:    lws_upng_inflator_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/upng-gzip.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1033
      functionLinenumberEnd: 1036
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - lws_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/upng-gzip.c:1034,2'
          Dst:             lws_realloc
        - Src:             'lib/misc/upng-gzip.c:1035,2'
          Dst:             lws_realloc
    - functionName:    lws_upng_inflate_data
      functionSourceFile: '/src/libwebsockets/lib/misc/upng-gzip.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1007
      functionLinenumberEnd: 1028
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          96
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_upng_inflate_data
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/upng-gzip.c:1020,6'
          Dst:             _lws_upng_inflate_data
    - functionName:    _lws_upng_inflate_data
      functionSourceFile: '/src/libwebsockets/lib/misc/upng-gzip.c'
      linkageType:     InternalLinkage
      functionLinenumber: 335
      functionLinenumberEnd: 966
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         269
      ICount:          2180
      EdgeCount:       354
      CyclomaticComplexity: 87
      functionsReached:
        - __assert_fail
        - _lws_log
        - huffman_decode_symbol
        - huffman_tree_create_lengths
        - huffman_tree_init
        - read_bit
        - read_bits
        - read_byte
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/misc/upng-gzip.c:342,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/upng-gzip.c:569,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/upng-gzip.c:344,8'
          Dst:             read_bit
        - Src:             'lib/misc/upng-gzip.c:351,8'
          Dst:             read_bit
        - Src:             'lib/misc/upng-gzip.c:358,8'
          Dst:             read_bit
        - Src:             'lib/misc/upng-gzip.c:371,4'
          Dst:             _lws_log
        - Src:             'lib/misc/upng-gzip.c:378,5'
          Dst:             _lws_log
        - Src:             'lib/misc/upng-gzip.c:385,8'
          Dst:             read_byte
        - Src:             'lib/misc/upng-gzip.c:396,8'
          Dst:             read_byte
        - Src:             'lib/misc/upng-gzip.c:405,8'
          Dst:             read_byte
        - Src:             'lib/misc/upng-gzip.c:414,8'
          Dst:             read_byte
        - Src:             'lib/misc/upng-gzip.c:423,4'
          Dst:             _lws_log
        - Src:             'lib/misc/upng-gzip.c:433,9'
          Dst:             read_byte
        - Src:             'lib/misc/upng-gzip.c:457,4'
          Dst:             huffman_tree_init
        - Src:             'lib/misc/upng-gzip.c:461,4'
          Dst:             huffman_tree_init
        - Src:             'lib/misc/upng-gzip.c:466,4'
          Dst:             _lws_log
        - Src:             'lib/misc/upng-gzip.c:472,4'
          Dst:             huffman_tree_init
        - Src:             'lib/misc/upng-gzip.c:475,4'
          Dst:             huffman_tree_init
        - Src:             'lib/misc/upng-gzip.c:478,4'
          Dst:             huffman_tree_init
        - Src:             'lib/misc/upng-gzip.c:498,8'
          Dst:             read_bits
        - Src:             'lib/misc/upng-gzip.c:506,8'
          Dst:             read_bits
        - Src:             'lib/misc/upng-gzip.c:514,8'
          Dst:             read_bits
        - Src:             'lib/misc/upng-gzip.c:525,10'
          Dst:             read_bits
        - Src:             'lib/misc/upng-gzip.c:537,8'
          Dst:             huffman_tree_create_lengths
        - Src:             'lib/misc/upng-gzip.c:552,9'
          Dst:             huffman_tree_create_lengths
        - Src:             'lib/misc/upng-gzip.c:556,9'
          Dst:             huffman_tree_create_lengths
        - Src:             'lib/misc/upng-gzip.c:565,8'
          Dst:             huffman_decode_symbol
        - Src:             'lib/misc/upng-gzip.c:597,8'
          Dst:             read_bits
        - Src:             'lib/misc/upng-gzip.c:613,8'
          Dst:             read_bits
        - Src:             'lib/misc/upng-gzip.c:622,8'
          Dst:             read_bits
        - Src:             'lib/misc/upng-gzip.c:630,5'
          Dst:             _lws_log
        - Src:             'lib/misc/upng-gzip.c:655,8'
          Dst:             huffman_decode_symbol
        - Src:             'lib/misc/upng-gzip.c:694,8'
          Dst:             read_bits
        - Src:             'lib/misc/upng-gzip.c:707,8'
          Dst:             huffman_decode_symbol
        - Src:             'lib/misc/upng-gzip.c:713,5'
          Dst:             _lws_log
        - Src:             'lib/misc/upng-gzip.c:727,8'
          Dst:             read_bits
        - Src:             'lib/misc/upng-gzip.c:734,5'
          Dst:             _lws_log
        - Src:             'lib/misc/upng-gzip.c:736,5'
          Dst:             __assert_fail
        - Src:             'lib/misc/upng-gzip.c:765,5'
          Dst:             _lws_log
        - Src:             'lib/misc/upng-gzip.c:803,8'
          Dst:             read_byte
        - Src:             'lib/misc/upng-gzip.c:813,8'
          Dst:             read_byte
        - Src:             'lib/misc/upng-gzip.c:823,8'
          Dst:             read_byte
        - Src:             'lib/misc/upng-gzip.c:833,8'
          Dst:             read_byte
        - Src:             'lib/misc/upng-gzip.c:847,9'
          Dst:             read_byte
        - Src:             'lib/misc/upng-gzip.c:872,8'
          Dst:             read_byte
        - Src:             'lib/misc/upng-gzip.c:883,8'
          Dst:             read_byte
        - Src:             'lib/misc/upng-gzip.c:895,9'
          Dst:             read_byte
        - Src:             'lib/misc/upng-gzip.c:917,8'
          Dst:             read_byte
        - Src:             'lib/misc/upng-gzip.c:936,8'
          Dst:             read_byte
        - Src:             'lib/misc/upng-gzip.c:954,9'
          Dst:             read_byte
    - functionName:    read_bit
      functionSourceFile: '/src/libwebsockets/lib/misc/upng-gzip.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          63
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    read_byte
      functionSourceFile: '/src/libwebsockets/lib/misc/upng-gzip.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 222
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          70
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    16
      BranchProfiles:  []
      Callsites:       []
    - functionName:    huffman_tree_init
      functionSourceFile: '/src/libwebsockets/lib/misc/upng-gzip.c'
      linkageType:     InternalLinkage
      functionLinenumber: 228
      functionLinenumberEnd: 233
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          24
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    read_bits
      functionSourceFile: '/src/libwebsockets/lib/misc/upng-gzip.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          105
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - read_bit
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/upng-gzip.c:189,7'
          Dst:             read_bit
    - functionName:    huffman_tree_create_lengths
      functionSourceFile: '/src/libwebsockets/lib/misc/upng-gzip.c'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 308
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         63
      ICount:          460
      EdgeCount:       77
      CyclomaticComplexity: 16
      functionsReached:
        - __assert_fail
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/upng-gzip.c:253,2'
          Dst:             __assert_fail
        - Src:             'lib/misc/upng-gzip.c:263,2'
          Dst:             __assert_fail
        - Src:             'lib/misc/upng-gzip.c:264,2'
          Dst:             __assert_fail
        - Src:             'lib/misc/upng-gzip.c:269,2'
          Dst:             __assert_fail
    - functionName:    huffman_decode_symbol
      functionSourceFile: '/src/libwebsockets/lib/misc/upng-gzip.c'
      linkageType:     InternalLinkage
      functionLinenumber: 314
      functionLinenumberEnd: 331
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          100
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - read_bit
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/upng-gzip.c:319,7'
          Dst:             read_bit
    - 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:    163
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_upng_inflator_create
      functionSourceFile: '/src/libwebsockets/lib/misc/upng-gzip.c'
      linkageType:     InternalLinkage
      functionLinenumber: 971
      functionLinenumberEnd: 1003
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          101
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lws_realloc
        - lws_zalloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/upng-gzip.c:972,24'
          Dst:             lws_zalloc
        - Src:             'lib/misc/upng-gzip.c:975,3'
          Dst:             _lws_log
        - Src:             'lib/misc/upng-gzip.c:987,24'
          Dst:             lws_realloc
        - Src:             'lib/misc/upng-gzip.c:989,3'
          Dst:             _lws_log
        - Src:             'lib/misc/upng-gzip.c:992,3'
          Dst:             lws_realloc
    - functionName:    lws_get_allocated_heap
      functionSourceFile: '/src/libwebsockets/lib/core/alloc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 228
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_set_allocator
      functionSourceFile: '/src/libwebsockets/lib/core/alloc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 221
      functionLinenumberEnd: 223
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _realloc
      functionSourceFile: '/src/libwebsockets/lib/core/alloc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          87
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log
        - malloc_usable_size
        - realloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/alloc.c:135,3'
          Dst:             _lws_log
        - Src:             'lib/core/alloc.c:141,17'
          Dst:             malloc_usable_size
        - Src:             'lib/core/alloc.c:151,15'
          Dst:             realloc
        - Src:             'lib/core/alloc.c:158,16'
          Dst:             malloc_usable_size
        - Src:             'lib/core/alloc.c:178,16'
          Dst:             malloc_usable_size
    - functionName:    malloc_usable_size
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_zalloc
      functionSourceFile: '/src/libwebsockets/lib/core/alloc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    40
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_realloc
      functionSourceFile: '/src/libwebsockets/lib/core/alloc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    220
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsl_hexdump
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 689
      functionLinenumberEnd: 693
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lwsl_hexdump_level
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:691,2'
          Dst:             lwsl_hexdump_level
    - functionName:    lwsl_hexdump_level
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 683
      functionLinenumberEnd: 685
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lwsl_hexdump_level_cx
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:684,2'
          Dst:             lwsl_hexdump_level_cx
    - functionName:    lwsl_hexdump_level_cx
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 629
      functionLinenumberEnd: 679
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          276
      EdgeCount:       51
      CyclomaticComplexity: 14
      functionsReached:
        - _lws_log_cx
        - lws_snprintf
        - lwsl_visible_cx
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:633,7'
          Dst:             lwsl_visible_cx
        - Src:             'lib/core/logs.c:637,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/logs.c:643,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/logs.c:648,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/logs.c:654,8'
          Dst:             lws_snprintf
        - Src:             'lib/core/logs.c:657,9'
          Dst:             lws_snprintf
        - Src:             'lib/core/logs.c:659,9'
          Dst:             lws_snprintf
        - Src:             'lib/core/logs.c:661,8'
          Dst:             lws_snprintf
        - Src:             'lib/core/logs.c:674,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/logs.c:678,2'
          Dst:             _lws_log_cx
    - functionName:    lwsl_visible_cx
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 586
      functionLinenumberEnd: 587
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _lws_log_cx
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 546
      functionLinenumberEnd: 555
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __lws_logv
      functionUses:    498
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:553,2'
          Dst:             __lws_logv
    - functionName:    __lws_logv
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 391
      functionLinenumberEnd: 519
      functionDepth:   0
      returnType:      void
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         55
      ICount:          417
      EdgeCount:       73
      CyclomaticComplexity: 20
      functionsReached:
        - lws_now_usecs
        - lws_snprintf
        - lws_strncpy
        - lwsl_timestamp
        - strcmp
        - strlen
        - vsnprintf
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:411,3'
          Dst:             lws_strncpy
        - Src:             'lib/core/logs.c:431,3'
          Dst:             lwsl_timestamp
        - Src:             'lib/core/logs.c:432,8'
          Dst:             strlen
        - Src:             'lib/core/logs.c:463,8'
          Dst:             lws_snprintf
        - Src:             'lib/core/logs.c:469,6'
          Dst:             vsnprintf
        - Src:             'lib/core/logs.c:485,10'
          Dst:             lws_snprintf
        - Src:             'lib/core/logs.c:493,7'
          Dst:             strcmp
        - Src:             'lib/core/logs.c:495,7'
          Dst:             lws_now_usecs
        - Src:             'lib/core/logs.c:498,20'
          Dst:             strlen
        - Src:             'lib/core/logs.c:501,8'
          Dst:             lws_snprintf
        - Src:             'lib/core/logs.c:504,24'
          Dst:             lws_now_usecs
        - Src:             'lib/core/logs.c:506,3'
          Dst:             lws_strncpy
        - Src:             'lib/core/logs.c:508,24'
          Dst:             lws_now_usecs
    - functionName:    lwsl_timestamp
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 267
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          132
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - gettimeofday
        - localtime_r
        - lws_snprintf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:221,2'
          Dst:             gettimeofday
        - Src:             'lib/core/logs.c:227,8'
          Dst:             localtime_r
        - Src:             'lib/core/logs.c:237,8'
          Dst:             lws_snprintf
        - Src:             'lib/core/logs.c:247,8'
          Dst:             lws_snprintf
    - 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:    152
      BranchProfiles:  []
      Callsites:       []
    - functionName:    vsnprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - 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:    112
      BranchProfiles:  []
      Callsites:       []
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    localtime_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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsl_emit_stderr
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 328
      functionLinenumberEnd: 330
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lwsl_emit_stderr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:329,2'
          Dst:             _lwsl_emit_stderr
    - functionName:    _lwsl_emit_stderr
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 307
      functionLinenumberEnd: 324
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          83
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - fprintf
        - isatty
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:311,16'
          Dst:             isatty
        - Src:             'lib/core/logs.c:321,3'
          Dst:             fprintf
        - Src:             'lib/core/logs.c:323,3'
          Dst:             fprintf
    - functionName:    isatty
      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:    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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsl_visible
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 581
      functionLinenumberEnd: 582
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_set_log_level
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 573
      functionLinenumberEnd: 578
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _lws_log_cx_rl
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 559
      functionLinenumberEnd: 568
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __lws_logv
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:566,2'
          Dst:             __lws_logv
    - functionName:    _lws_log_rl
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 536
      functionLinenumberEnd: 542
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_logv
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:540,2'
          Dst:             __lws_logv
    - functionName:    _lws_log
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 527
      functionLinenumberEnd: 533
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_logv
      functionUses:    1063
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:531,2'
          Dst:             __lws_logv
    - functionName:    _lws_logv
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 522
      functionLinenumberEnd: 524
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_logv
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:523,2'
          Dst:             __lws_logv
    - functionName:    lws_log_use_cx_file
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 361
      functionLinenumberEnd: 381
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          106
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - close
        - fprintf
        - open
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:365,8'
          Dst:             open
        - Src:             'lib/core/logs.c:369,31'
          Dst:             __errno_location
        - Src:             'lib/core/logs.c:368,4'
          Dst:             fprintf
        - Src:             'lib/core/logs.c:378,3'
          Dst:             close
    - functionName:    open
      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:    9
      BranchProfiles:  []
      Callsites:       []
    - 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:    60
      BranchProfiles:  []
      Callsites:       []
    - 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:    38
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_log_emit_cx_file
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 347
      functionLinenumberEnd: 353
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - fprintf
        - write
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:351,7'
          Dst:             write
        - Src:             'lib/core/logs.c:352,4'
          Dst:             fprintf
    - functionName:    write
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsl_emit_stderr_notimestamp
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 334
      functionLinenumberEnd: 336
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lwsl_emit_stderr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:335,2'
          Dst:             _lwsl_emit_stderr
    - functionName:    lws_log_ratelimit_check
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 271
      functionLinenumberEnd: 284
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          58
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_now_usecs
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:272,19'
          Dst:             lws_now_usecs
    - functionName:    lws_lc_tag
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 204
      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:    __lws_lc_untag
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          93
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_dll2_remove
        - lws_humanize
        - lws_log_prepend_context
        - lws_now_usecs
        - lwsl_context_get_cx
        - lwsl_refcount_cx
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:174,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/logs.c:174,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/logs.c:174,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/logs.c:175,3'
          Dst:             __assert_fail
        - Src:             'lib/core/logs.c:180,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/logs.c:180,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/logs.c:180,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/logs.c:181,3'
          Dst:             __assert_fail
        - Src:             'lib/core/logs.c:189,18'
          Dst:             lws_now_usecs
        - Src:             'lib/core/logs.c:188,6'
          Dst:             lws_humanize
        - Src:             'lib/core/logs.c:192,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/logs.c:192,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/logs.c:192,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/logs.c:196,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core/logs.c:198,2'
          Dst:             lwsl_refcount_cx
    - functionName:    lwsl_refcount_cx
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 592
      functionLinenumberEnd: 624
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          77
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:614,3'
          Dst:             __assert_fail
    - functionName:    __lws_lc_tag_append
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 161
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          110
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - lws_snprintf
        - strlen
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:144,15'
          Dst:             strlen
        - Src:             'lib/core/logs.c:154,7'
          Dst:             lws_snprintf
    - functionName:    __lws_lc_tag
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          263
      EdgeCount:       31
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_dll2_add_tail
        - lws_log_prepend_context
        - lws_now_usecs
        - lws_snprintf
        - lwsl_context_get_cx
        - lwsl_refcount_cx
        - strchr
        - strlen
        - vsnprintf
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:62,22'
          Dst:             strchr
        - Src:             'lib/core/logs.c:71,7'
          Dst:             strlen
        - Src:             'lib/core/logs.c:78,7'
          Dst:             vsnprintf
        - Src:             'lib/core/logs.c:86,3'
          Dst:             __assert_fail
        - Src:             'lib/core/logs.c:94,2'
          Dst:             __assert_fail
        - Src:             'lib/core/logs.c:95,2'
          Dst:             __assert_fail
        - Src:             'lib/core/logs.c:103,7'
          Dst:             lws_snprintf
        - Src:             'lib/core/logs.c:109,7'
          Dst:             vsnprintf
        - Src:             'lib/core/logs.c:121,30'
          Dst:             lws_now_usecs
        - Src:             'lib/core/logs.c:122,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core/logs.c:124,2'
          Dst:             lwsl_refcount_cx
        - Src:             'lib/core/logs.c:127,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/logs.c:127,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/logs.c:127,2'
          Dst:             lws_log_prepend_context
    - 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:    20
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_plat_ntpclient_config
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-misc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          58
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - getenv
        - lws_system_blob_direct_set
        - lws_system_get_blob
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-misc.c:127,17'
          Dst:             getenv
        - Src:             'lib/plat/unix/unix-misc.c:129,16'
          Dst:             strlen
        - Src:             'lib/plat/unix/unix-misc.c:130,29'
          Dst:             lws_system_get_blob
        - Src:             'lib/plat/unix/unix-misc.c:136,10'
          Dst:             strlen
        - Src:             'lib/plat/unix/unix-misc.c:135,3'
          Dst:             lws_system_blob_direct_set
    - functionName:    getenv
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_plat_recommended_rsa_bits
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-misc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_plat_write_cert
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-misc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          68
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - fsync
        - lseek
        - write
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-misc.c:102,6'
          Dst:             write
        - Src:             'lib/plat/unix/unix-misc.c:104,15'
          Dst:             fsync
        - Src:             'lib/plat/unix/unix-misc.c:106,6'
          Dst:             lseek
    - functionName:    fsync
      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:    lseek
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsl_emit_syslog
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-misc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - syslog
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/plat/unix/unix-misc.c:78,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/plat/unix/unix-misc.c:92,2'
          Dst:             syslog
    - functionName:    syslog
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_random
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-misc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - read
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-misc.c:70,17'
          Dst:             read
    - functionName:    read
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_now_usecs
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-misc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - clock_gettime
      functionUses:    40
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-misc.c:48,6'
          Dst:             clock_gettime
    - functionName:    clock_gettime
      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:    lws_msleep
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-misc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - usleep
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-misc.c:39,9'
          Dst:             usleep
    - functionName:    usleep
      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:    lws_dll2_describe
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 319
      functionLinenumberEnd: 332
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          76
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lws_dll2_get_head
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:323,2'
          Dst:             _lws_log
        - Src:             'lib/core/lws_dll2.c:326,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/lws_dll2.c:328,3'
          Dst:             _lws_log
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      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:    _lws_dll2_search_sz_pl
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 299
      functionLinenumberEnd: 313
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          92
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - lws_dll2_get_head
        - strncmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:300,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/lws_dll2.c:308,15'
          Dst:             strncmp
    - 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:    48
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_add_sorted
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 275
      functionLinenumberEnd: 294
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          80
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - lws_dll2_add_before
        - lws_dll2_add_tail
        - lws_dll2_get_head
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:276,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/lws_dll2.c:278,3'
          Dst:             __assert_fail
        - Src:             'lib/core/lws_dll2.c:282,4'
          Dst:             lws_dll2_add_before
        - Src:             'lib/core/lws_dll2.c:293,2'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_dll2_add_before
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          86
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - lws_dll2_is_detached
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:105,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core/lws_dll2.c:106,3'
          Dst:             __assert_fail
        - Src:             'lib/core/lws_dll2.c:110,6'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core/lws_dll2.c:111,3'
          Dst:             __assert_fail
    - functionName:    lws_dll2_add_tail
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          83
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - lws_dll2_is_detached
      functionUses:    30
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:178,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core/lws_dll2.c:179,3'
          Dst:             __assert_fail
    - functionName:    lws_dll2_is_detached
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          58
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - _lws_log
      functionUses:    21
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:38,3'
          Dst:             _lws_log
        - Src:             'lib/core/lws_dll2.c:50,3'
          Dst:             __assert_fail
    - functionName:    lws_dll2_add_sorted_priv
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 251
      functionLinenumberEnd: 270
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          83
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - lws_dll2_add_before
        - lws_dll2_add_tail
        - lws_dll2_get_head
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:252,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/lws_dll2.c:254,3'
          Dst:             __assert_fail
        - Src:             'lib/core/lws_dll2.c:258,4'
          Dst:             lws_dll2_add_before
        - Src:             'lib/core/lws_dll2.c:269,2'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_dll2_owner_clear
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 241
      functionLinenumberEnd: 245
      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:    lws_dll2_clear
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 233
      functionLinenumberEnd: 237
      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:    lws_dll2_remove
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 229
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          129
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - lws_dll2_is_detached
      functionUses:    84
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:204,6'
          Dst:             lws_dll2_is_detached
    - functionName:    lws_dll2_add_insert
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 148
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          99
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - lws_dll2_is_detached
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:151,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core/lws_dll2.c:152,3'
          Dst:             __assert_fail
        - Src:             'lib/core/lws_dll2.c:156,6'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core/lws_dll2.c:157,3'
          Dst:             __assert_fail
    - functionName:    lws_dll2_add_head
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          97
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - lws_dll2_is_detached
      functionUses:    18
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:71,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core/lws_dll2.c:72,3'
          Dst:             __assert_fail
    - functionName:    lws_dll2_foreach_safe
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          69
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    14
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_system_context_from_system_mgr
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2545
      functionLinenumberEnd: 2547
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_context_is_being_destroyed
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2538
      functionLinenumberEnd: 2539
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      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:    lws_pt_destroy
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1902
      functionLinenumberEnd: 1975
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         33
      ICount:          210
      EdgeCount:       43
      CyclomaticComplexity: 12
      functionsReached:
        - __lws_free_wsi
        - _lws_destroy_ah
        - _lws_log_cx
        - lws_destroy_event_pipe
        - lws_dll2_get_head
        - lws_log_prepend_wsi
        - lws_plat_pipe_close
        - lws_realloc
        - lws_ss_destroy_dll
        - lwsl_wsi_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/context.c:1917,3'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:1924,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/context.c:1928,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core/context.c:1928,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1928,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core/context.c:1929,3'
          Dst:             __lws_free_wsi
        - Src:             'lib/core/context.c:1934,3'
          Dst:             lws_destroy_event_pipe
        - Src:             'lib/core/context.c:1954,3'
          Dst:             lws_plat_pipe_close
        - Src:             'lib/core/context.c:1959,3'
          Dst:             lws_ss_destroy_dll
        - Src:             'lib/core/context.c:1967,4'
          Dst:             _lws_destroy_ah
    - functionName:    lws_context_is_deprecated
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1871
      functionLinenumberEnd: 1872
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_system_cpd_state_get
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1863
      functionLinenumberEnd: 1864
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_system_cpd_set
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1837
      functionLinenumberEnd: 1859
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          65
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_context
        - lws_smd_msg_printf
        - lws_state_transition_steps
        - lwsl_context_get_cx
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/context.c:1842,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1842,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1842,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1849,2'
          Dst:             lws_smd_msg_printf
        - Src:             'lib/core/context.c:1856,3'
          Dst:             lws_state_transition_steps
    - functionName:    lwsl_context_get_cx
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2566
      functionLinenumberEnd: 2571
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    148
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_log_prepend_context
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2556
      functionLinenumberEnd: 2562
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_snprintf
      functionUses:    148
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/context.c:2560,9'
          Dst:             lws_snprintf
    - functionName:    lws_system_deferred_cb
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1817
      functionLinenumberEnd: 1822
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_system_cpd_start
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/context.c:1821,2'
          Dst:             lws_system_cpd_start
    - functionName:    lws_system_cpd_start
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1796
      functionLinenumberEnd: 1813
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_ss_sys_cpd
        - lws_system_get_ops
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/context.c:1801,6'
          Dst:             lws_system_get_ops
        - Src:             'lib/core/context.c:1802,6'
          Dst:             lws_system_get_ops
        - Src:             'lib/core/context.c:1803,10'
          Dst:             lws_system_get_ops
        - Src:             'lib/core/context.c:1809,9'
          Dst:             lws_ss_sys_cpd
    - functionName:    lws_system_cpd_start_defer
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1826
      functionLinenumberEnd: 1829
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_sul_schedule
        - lws_system_deferred_cb
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/context.c:1827,2'
          Dst:             lws_sul_schedule
        - Src:             'lib/core/context.c:1827,2'
          Dst:             lws_system_deferred_cb
    - functionName:    lws_context_destroy
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2016
      functionLinenumberEnd: 2534
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         152
      ICount:          1091
      EdgeCount:       195
      CyclomaticComplexity: 45
      functionsReached:
        - __assert_fail
        - __lws_vhost_destroy2
        - _lws_destroy_ah
        - _lws_log_cx
        - _lws_smd_destroy
        - lws_cache_destroy
        - lws_cancel_service
        - lws_close_free_wsi
        - lws_context_deinit_ssl_library
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_dlo_file_destroy
        - lws_fonts_destroy
        - lws_log_prepend_context
        - lws_log_prepend_vhost
        - lws_plat_context_early_destroy
        - lws_plat_context_late_destroy
        - lws_pt_destroy
        - lws_realloc
        - lws_ssl_context_destroy
        - lws_state_transition
        - lws_state_transition_steps
        - lws_system_blob_destroy
        - lws_system_get_blob
        - lws_vhost_destroy1
        - lwsac_free
        - lwsl_context_get_cx
        - lwsl_refcount_cx
        - lwsl_vhost_get_cx
        - wsi_from_fd
      functionUses:    4
      BranchProfiles:
        - Branch String:   'lib/core/context.c:2038,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core/context.c:2036,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2036,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2036,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2044,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2044,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2044,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2062,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core/context.c:2062,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2062,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core/context.c:2064,4'
          Dst:             lws_vhost_destroy1
        - Src:             'lib/core/context.c:2069,3'
          Dst:             lws_plat_context_early_destroy
        - Src:             'lib/core/context.c:2108,23'
          Dst:             wsi_from_fd
        - Src:             'lib/core/context.c:2113,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2113,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2113,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2117,6'
          Dst:             lws_close_free_wsi
        - Src:             'lib/core/context.c:2140,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2140,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2140,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2153,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2153,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2153,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2154,4'
          Dst:             lws_cancel_service
        - Src:             'lib/core/context.c:2186,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2186,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2186,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2197,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2197,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2197,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2202,4'
          Dst:             lws_pt_destroy
        - Src:             'lib/core/context.c:2216,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2216,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2216,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2249,2'
          Dst:             lws_state_transition
        - Src:             'lib/core/context.c:2261,4'
          Dst:             __lws_vhost_destroy2
        - Src:             'lib/core/context.c:2269,4'
          Dst:             __lws_vhost_destroy2
        - Src:             'lib/core/context.c:2273,3'
          Dst:             lws_ssl_context_destroy
        - Src:             'lib/core/context.c:2275,3'
          Dst:             lws_plat_context_late_destroy
        - Src:             'lib/core/context.c:2314,5'
          Dst:             _lws_destroy_ah
        - Src:             'lib/core/context.c:2316,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2316,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2316,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2317,4'
          Dst:             lws_pt_destroy
        - Src:             'lib/core/context.c:2328,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2328,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2328,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2336,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2336,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2336,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2355,3'
          Dst:             lws_state_transition_steps
        - Src:             'lib/core/context.c:2381,4'
          Dst:             __assert_fail
        - Src:             'lib/core/context.c:2385,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2385,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2385,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2401,3'
          Dst:             lws_cache_destroy
        - Src:             'lib/core/context.c:2402,3'
          Dst:             lws_cache_destroy
        - Src:             'lib/core/context.c:2406,3'
          Dst:             _lws_smd_destroy
        - Src:             'lib/core/context.c:2417,3'
          Dst:             lws_fonts_destroy
        - Src:             'lib/core/context.c:2418,3'
          Dst:             lws_dlo_file_destroy
        - Src:             'lib/core/context.c:2422,4'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:2424,3'
          Dst:             lws_context_deinit_ssl_library
        - Src:             'lib/core/context.c:2433,6'
          Dst:             lws_system_get_blob
        - Src:             'lib/core/context.c:2432,4'
          Dst:             lws_system_blob_destroy
        - Src:             'lib/core/context.c:2442,4'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:2446,4'
          Dst:             lwsac_free
        - Src:             'lib/core/context.c:2450,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/context.c:2455,4'
          Dst:             __assert_fail
        - Src:             'lib/core/context.c:2457,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/core/context.c:2458,4'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:2464,3'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:2515,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/core/context.c:2518,3'
          Dst:             lwsl_refcount_cx
        - Src:             'lib/core/context.c:2520,3'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:2531,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2531,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2531,2'
          Dst:             lws_log_prepend_context
    - functionName:    lws_context_creation_completion_cb
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 257
      functionLinenumberEnd: 264
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_state_transition_steps
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/context.c:262,2'
          Dst:             lws_state_transition_steps
    - functionName:    lws_state_notify_protocol_init
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 253
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          216
      EdgeCount:       53
      CyclomaticComplexity: 16
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_context
        - lws_protocol_init
        - lws_ss_sys_fetch_policy
        - lws_system_do_attach
        - lwsl_context_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/context.c:111,3'
          Dst:             lws_system_do_attach
        - Src:             'lib/core/context.c:167,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:167,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:167,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:227,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:227,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:227,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:232,8'
          Dst:             lws_ss_sys_fetch_policy
        - Src:             'lib/core/context.c:250,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:250,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:250,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:252,9'
          Dst:             lws_protocol_init
    - functionName:    lws_system_smd_cb
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 271
      functionLinenumberEnd: 313
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          66
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - lws_json_simple_strcmp
        - lws_system_cpd_start
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/context.c:279,7'
          Dst:             lws_json_simple_strcmp
        - Src:             'lib/core/context.c:280,3'
          Dst:             lws_system_cpd_start
        - Src:             'lib/core/context.c:286,8'
          Dst:             lws_json_simple_strcmp
        - Src:             'lib/core/context.c:287,4'
          Dst:             lws_system_cpd_start
    - functionName:    lws_create_context
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 395
      functionLinenumberEnd: 1791
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         221
      ICount:          2014
      EdgeCount:       298
      CyclomaticComplexity: 79
      functionsReached:
        - OpenSSL_version
        - __lws_create_event_pipes
        - _lws_log
        - _lws_log_cx
        - _lws_smd_destroy
        - lws_cache_create
        - lws_cancel_service
        - lws_context_creation_completion_cb
        - lws_context_destroy
        - lws_context_init_ssl_library
        - lws_create_vhost
        - lws_dll2_remove
        - lws_log_prepend_context
        - lws_now_usecs
        - lws_plat_context_early_init
        - lws_plat_drop_app_privileges
        - lws_plat_init
        - lws_protocol_init_vhost
        - lws_realloc
        - lws_server_get_canonical_hostname
        - lws_smd_register
        - lws_snprintf
        - lws_ss_policy_parse
        - lws_ss_policy_parse_abandon
        - lws_ss_policy_parse_begin
        - lws_ss_policy_set
        - lws_state_reg_notifier
        - lws_state_reg_notifier_list
        - lws_state_transition
        - lws_sul_schedule
        - lws_system_smd_cb
        - lws_zalloc
        - lwsl_context_get_cx
        - lwsl_refcount_cx
        - pthread_mutex_init
        - setrlimit
        - strcpy
        - strlen
        - sysconf
        - time
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/context.c:465,6'
          Dst:             lws_plat_context_early_init
        - Src:             'lib/core/context.c:655,12'
          Dst:             lws_zalloc
        - Src:             'lib/core/context.c:660,3'
          Dst:             _lws_log
        - Src:             'lib/core/context.c:712,2'
          Dst:             lwsl_refcount_cx
        - Src:             'lib/core/context.c:876,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:876,2'
          Dst:             OpenSSL_version
        - Src:             'lib/core/context.c:876,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:876,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:889,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:889,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:889,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:949,17'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:949,17'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:949,17'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:964,6'
          Dst:             lws_plat_drop_app_privileges
        - Src:             'lib/core/context.c:1040,21'
          Dst:             lws_now_usecs
        - Src:             'lib/core/context.c:1064,3'
          Dst:             setrlimit
        - Src:             'lib/core/context.c:1088,12'
          Dst:             sysconf
        - Src:             'lib/core/context.c:1093,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1093,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1093,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1101,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1101,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1101,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1127,2'
          Dst:             time
        - Src:             'lib/core/context.c:1137,10'
          Dst:             lws_snprintf
        - Src:             'lib/core/context.c:1192,2'
          Dst:             pthread_mutex_init
        - Src:             'lib/core/context.c:1193,2'
          Dst:             pthread_mutex_init
        - Src:             'lib/core/context.c:1197,7'
          Dst:             lws_smd_register
        - Src:             'lib/core/context.c:1197,7'
          Dst:             lws_system_smd_cb
        - Src:             'lib/core/context.c:1199,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1199,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1199,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1205,7'
          Dst:             lws_smd_register
        - Src:             'lib/core/context.c:1208,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1208,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1208,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1285,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1285,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1285,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1311,23'
          Dst:             lws_zalloc
        - Src:             'lib/core/context.c:1317,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1317,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1317,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1322,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1322,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1322,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1332,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1332,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1332,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1343,5'
          Dst:             strlen
        - Src:             'lib/core/context.c:1361,6'
          Dst:             lws_plat_init
        - Src:             'lib/core/context.c:1389,6'
          Dst:             __lws_create_event_pipes
        - Src:             'lib/core/context.c:1404,2'
          Dst:             lws_context_init_ssl_library
        - Src:             'lib/core/context.c:1409,2'
          Dst:             strcpy
        - Src:             'lib/core/context.c:1411,2'
          Dst:             lws_server_get_canonical_hostname
        - Src:             'lib/core/context.c:1486,9'
          Dst:             lws_create_vhost
        - Src:             'lib/core/context.c:1488,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1488,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1488,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1496,7'
          Dst:             lws_protocol_init_vhost
        - Src:             'lib/core/context.c:1498,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1498,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1498,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1521,2'
          Dst:             lws_state_reg_notifier
        - Src:             'lib/core/context.c:1529,2'
          Dst:             lws_state_reg_notifier_list
        - Src:             'lib/core/context.c:1539,8'
          Dst:             lws_create_vhost
        - Src:             'lib/core/context.c:1541,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1541,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1541,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1559,18'
          Dst:             lws_cache_create
        - Src:             'lib/core/context.c:1570,17'
          Dst:             lws_cache_create
        - Src:             'lib/core/context.c:1572,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1572,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1572,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1658,7'
          Dst:             lws_ss_policy_parse_begin
        - Src:             'lib/core/context.c:1668,6'
          Dst:             strlen
        - Src:             'lib/core/context.c:1666,7'
          Dst:             lws_ss_policy_parse
        - Src:             'lib/core/context.c:1671,4'
          Dst:             _lws_log
        - Src:             'lib/core/context.c:1672,4'
          Dst:             lws_ss_policy_parse_abandon
        - Src:             'lib/core/context.c:1676,7'
          Dst:             lws_ss_policy_set
        - Src:             'lib/core/context.c:1678,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1678,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1678,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1701,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1701,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1701,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1711,3'
          Dst:             lws_state_transition
        - Src:             'lib/core/context.c:1713,7'
          Dst:             lws_plat_drop_app_privileges
        - Src:             'lib/core/context.c:1728,2'
          Dst:             lws_sul_schedule
        - Src:             'lib/core/context.c:1728,2'
          Dst:             lws_context_creation_completion_cb
        - Src:             'lib/core/context.c:1733,2'
          Dst:             lws_cancel_service
        - Src:             'lib/core/context.c:1746,2'
          Dst:             lws_context_destroy
        - Src:             'lib/core/context.c:1752,2'
          Dst:             lws_context_destroy
        - Src:             'lib/core/context.c:1762,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1762,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1762,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1769,3'
          Dst:             _lws_smd_destroy
        - Src:             'lib/core/context.c:1780,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/core/context.c:1786,3'
          Dst:             lwsl_refcount_cx
        - Src:             'lib/core/context.c:1787,3'
          Dst:             lws_realloc
    - functionName:    OpenSSL_version
      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:    setrlimit
      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:    sysconf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - 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:    11
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - 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:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_library_version
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_parse_iso8601
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2289
      functionLinenumberEnd: 2315
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          74
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - __isoc99_sscanf
        - timegm
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:2299,6'
          Dst:             __isoc99_sscanf
        - Src:             'lib/core/libwebsockets.c:2302,7'
          Dst:             __isoc99_sscanf
        - Src:             'lib/core/libwebsockets.c:2311,21'
          Dst:             timegm
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    timegm
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_fx_string
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2268
      functionLinenumberEnd: 2284
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          147
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - lws_snprintf
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:2272,7'
          Dst:             lws_snprintf
        - Src:             'lib/core/libwebsockets.c:2276,7'
          Dst:             lws_snprintf
    - functionName:    lws_snprintf
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 900
      functionLinenumberEnd: 915
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          67
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - vsnprintf
      functionUses:    143
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:908,6'
          Dst:             vsnprintf
    - functionName:    lws_fx_rounddown
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2262
      functionLinenumberEnd: 2263
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_fx_roundup
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2250
      functionLinenumberEnd: 2258
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_fx_comp
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2233
      functionLinenumberEnd: 2246
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          71
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_fx_sqrt
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2208
      functionLinenumberEnd: 2226
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          83
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_fx_div
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2176
      functionLinenumberEnd: 2203
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          275
      EdgeCount:       44
      CyclomaticComplexity: 12
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_fx_mul
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2122
      functionLinenumberEnd: 2171
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          400
      EdgeCount:       57
      CyclomaticComplexity: 15
      functionsReached:
        - __assert_fail
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:2127,2'
          Dst:             __assert_fail
        - Src:             'lib/core/libwebsockets.c:2128,2'
          Dst:             __assert_fail
    - functionName:    lws_fx_sub
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2095
      functionLinenumberEnd: 2117
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          126
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_fx_add
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2074
      functionLinenumberEnd: 2090
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          74
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    33
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sigbits
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2049
      functionLinenumberEnd: 2070
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          80
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_minilex_parse
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1998
      functionLinenumberEnd: 2045
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          199
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_humanize_pad
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1965
      functionLinenumberEnd: 1985
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          133
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - lws_humanize
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:1966,37'
          Dst:             lws_humanize
        - Src:             'lib/core/libwebsockets.c:1971,7'
          Dst:             strlen
        - Src:             'lib/core/libwebsockets.c:1972,8'
          Dst:             strlen
    - functionName:    lws_humanize
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1917
      functionLinenumberEnd: 1961
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          279
      EdgeCount:       42
      CyclomaticComplexity: 11
      functionsReached:
        - __assert_fail
        - decim
        - lws_snprintf
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:1927,10'
          Dst:             decim
        - Src:             'lib/core/libwebsockets.c:1928,10'
          Dst:             lws_snprintf
        - Src:             'lib/core/libwebsockets.c:1933,9'
          Dst:             decim
        - Src:             'lib/core/libwebsockets.c:1943,12'
          Dst:             decim
        - Src:             'lib/core/libwebsockets.c:1947,11'
          Dst:             decim
        - Src:             'lib/core/libwebsockets.c:1951,9'
          Dst:             lws_snprintf
        - Src:             'lib/core/libwebsockets.c:1957,2'
          Dst:             __assert_fail
    - functionName:    decim
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1893
      functionLinenumberEnd: 1912
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          109
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sigterm_catch
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1711
      functionLinenumberEnd: 1712
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_cmdline_option_handle_builtin
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1784
      functionLinenumberEnd: 1861
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          118
      EdgeCount:       21
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - atoi
        - lws_cmdline_option
        - lws_set_log_level
        - lws_sigterm_catch
        - signal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/core/libwebsockets.c:1802,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:1796,7'
          Dst:             lws_cmdline_option
        - Src:             'lib/core/libwebsockets.c:1800,7'
          Dst:             atoi
        - Src:             'lib/core/libwebsockets.c:1828,4'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:1841,4'
          Dst:             signal
        - Src:             'lib/core/libwebsockets.c:1841,4'
          Dst:             lws_sigterm_catch
        - Src:             'lib/core/libwebsockets.c:1854,2'
          Dst:             lws_set_log_level
    - functionName:    lws_cmdline_option
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1681
      functionLinenumberEnd: 1682
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_cmdline_options
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:1682,9'
          Dst:             lws_cmdline_options
    - 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:    41
      BranchProfiles:  []
      Callsites:       []
    - functionName:    signal
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_cmdline_options
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1596
      functionLinenumberEnd: 1646
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          274
      EdgeCount:       63
      CyclomaticComplexity: 18
      functionsReached:
        - strlen
        - strncmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:1602,7'
          Dst:             strlen
        - Src:             'lib/core/libwebsockets.c:1606,14'
          Dst:             strncmp
        - Src:             'lib/core/libwebsockets.c:1619,24'
          Dst:             strlen
    - functionName:    lws_cmdline_passfail
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1763
      functionLinenumberEnd: 1779
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - atoi
        - lws_cmdline_option
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:1767,11'
          Dst:             lws_cmdline_option
        - Src:             'lib/core/libwebsockets.c:1768,14'
          Dst:             atoi
        - Src:             'lib/core/libwebsockets.c:1771,3'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:1776,2'
          Dst:             _lws_log
    - functionName:    lws_context_default_loop_run_destroy
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1750
      functionLinenumberEnd: 1757
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          46
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_context_destroy
        - lws_service
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:1753,36'
          Dst:             lws_service
        - Src:             'lib/core/libwebsockets.c:1756,9'
          Dst:             lws_context_destroy
    - functionName:    lws_default_loop_exit
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1738
      functionLinenumberEnd: 1745
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_cancel_service
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:1742,3'
          Dst:             lws_cancel_service
    - functionName:    _lws_context_info_defaults
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1718
      functionLinenumberEnd: 1734
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          23
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_cmdline_option_cx_argv0
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1668
      functionLinenumberEnd: 1676
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          54
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_cmdline_option_cx
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1662
      functionLinenumberEnd: 1663
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_cmdline_options_cx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:1663,9'
          Dst:             lws_cmdline_options_cx
    - functionName:    lws_cmdline_options_cx
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1650
      functionLinenumberEnd: 1658
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          64
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - lws_cmdline_options
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:1655,10'
          Dst:             lws_cmdline_options
        - Src:             'lib/core/libwebsockets.c:1657,9'
          Dst:             lws_cmdline_options
    - functionName:    lws_switches_print_help
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1582
      functionLinenumberEnd: 1592
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          51
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:1585,2'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:1586,2'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:1589,3'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:1591,2'
          Dst:             _lws_log
    - functionName:    lws_strcmp_wildcard
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1406
      functionLinenumberEnd: 1484
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          168
      EdgeCount:       33
      CyclomaticComplexity: 11
      functionsReached:
        - _lws_log
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:1447,5'
          Dst:             _lws_log
    - functionName:    lws_strexp_expand
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1322
      functionLinenumberEnd: 1401
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          352
      EdgeCount:       55
      CyclomaticComplexity: 14
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   'lib/core/libwebsockets.c:1328,3'
          Branch Sides:    []
      Callsites:       []
    - functionName:    lws_strexp_reset_out
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1313
      functionLinenumberEnd: 1317
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          21
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_strexp_init
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1302
      functionLinenumberEnd: 1309
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          35
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tokenize_init
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1276
      functionLinenumberEnd: 1289
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          58
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tokenize_cstr
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1264
      functionLinenumberEnd: 1272
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          44
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tokenize
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 940
      functionLinenumberEnd: 1259
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         251
      ICount:          1509
      EdgeCount:       340
      CyclomaticComplexity: 91
      functionsReached:
        - lws_check_byte_utf8
        - strchr
      functionUses:    13
      BranchProfiles:
        - Branch String:   'lib/core/libwebsockets.c:1020,4'
          Branch Sides:    []
        - Branch String:   'lib/core/libwebsockets.c:1132,4'
          Branch Sides:    []
        - Branch String:   'lib/core/libwebsockets.c:1173,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:987,10'
          Dst:             lws_check_byte_utf8
        - Src:             'lib/core/libwebsockets.c:1119,18'
          Dst:             strchr
    - functionName:    lws_check_byte_utf8
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 364
      functionLinenumberEnd: 383
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          116
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_timingsafe_bcmp
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 928
      functionLinenumberEnd: 935
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          51
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_effective_uid_gid
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 892
      functionLinenumberEnd: 895
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_finalize_startup
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 875
      functionLinenumberEnd: 887
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          49
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lws_plat_drop_app_privileges
        - lws_state_transition
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:877,3'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:879,3'
          Dst:             lws_state_transition
        - Src:             'lib/core/libwebsockets.c:882,7'
          Dst:             lws_plat_drop_app_privileges
    - functionName:    lws_strncpy
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 919
      functionLinenumberEnd: 923
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strncpy
      functionUses:    52
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:920,2'
          Dst:             strncpy
    - 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:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_http_rel_to_url
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 777
      functionLinenumberEnd: 871
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         76
      ICount:          455
      EdgeCount:       103
      CyclomaticComplexity: 29
      functionsReached:
        - lws_snprintf
        - lws_strncpy
        - strlen
        - strncmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:784,3'
          Dst:             lws_snprintf
        - Src:             'lib/core/libwebsockets.c:789,7'
          Dst:             strncmp
        - Src:             'lib/core/libwebsockets.c:790,7'
          Dst:             strncmp
        - Src:             'lib/core/libwebsockets.c:791,7'
          Dst:             strncmp
        - Src:             'lib/core/libwebsockets.c:793,3'
          Dst:             lws_strncpy
        - Src:             'lib/core/libwebsockets.c:797,7'
          Dst:             strncmp
        - Src:             'lib/core/libwebsockets.c:798,7'
          Dst:             strlen
        - Src:             'lib/core/libwebsockets.c:808,3'
          Dst:             lws_snprintf
        - Src:             'lib/core/libwebsockets.c:865,16'
          Dst:             strlen
        - Src:             'lib/core/libwebsockets.c:868,2'
          Dst:             lws_strncpy
    - functionName:    lws_urldecode
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 711
      functionLinenumberEnd: 756
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          171
      EdgeCount:       28
      CyclomaticComplexity: 7
      functionsReached:
        - char_to_hex
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/core/libwebsockets.c:716,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:733,8'
          Dst:             char_to_hex
        - Src:             'lib/core/libwebsockets.c:742,8'
          Dst:             char_to_hex
    - functionName:    char_to_hex
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          93
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_urlencode
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 681
      functionLinenumberEnd: 706
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          177
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_filename_purify_inplace
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 659
      functionLinenumberEnd: 677
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          96
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_json_purify_len
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 634
      functionLinenumberEnd: 654
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          104
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_json_purify
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 574
      functionLinenumberEnd: 630
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          239
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sql_purify_len
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 560
      functionLinenumberEnd: 569
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          41
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sql_purify
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 540
      functionLinenumberEnd: 555
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          81
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_json_simple_strcmp
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 523
      functionLinenumberEnd: 534
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          56
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - lws_json_simple_find
        - strlen
        - strncmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:525,20'
          Dst:             lws_json_simple_find
        - Src:             'lib/core/libwebsockets.c:530,12'
          Dst:             strlen
        - Src:             'lib/core/libwebsockets.c:533,9'
          Dst:             strncmp
    - functionName:    lws_json_simple_find
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 474
      functionLinenumberEnd: 518
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          238
      EdgeCount:       59
      CyclomaticComplexity: 17
      functionsReached:
        - lws_nstrstr
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:475,14'
          Dst:             strlen
        - Src:             'lib/core/libwebsockets.c:476,19'
          Dst:             lws_nstrstr
    - functionName:    lws_nstrstr
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 430
      functionLinenumberEnd: 466
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          144
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_strdup
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 418
      functionLinenumberEnd: 425
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_realloc
        - strlen
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:419,13'
          Dst:             strlen
        - Src:             'lib/core/libwebsockets.c:420,12'
          Dst:             lws_realloc
    - functionName:    lws_check_utf8
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 387
      functionLinenumberEnd: 413
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          138
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_count_threads
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 330
      functionLinenumberEnd: 331
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_canonical_hostname
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 324
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_now_secs
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 310
      functionLinenumberEnd: 315
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - gettimeofday
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:313,2'
          Dst:             gettimeofday
    - functionName:    lws_explicit_bzero
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 295
      functionLinenumberEnd: 300
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          28
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_context_user
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 289
      functionLinenumberEnd: 290
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_pthread_self_to_tsi
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 265
      functionLinenumberEnd: 283
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_open
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 259
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          93
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - close
        - lws_plat_apply_FD_CLOEXEC
        - open
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:246,7'
          Dst:             open
        - Src:             'lib/core/libwebsockets.c:249,7'
          Dst:             open
        - Src:             'lib/core/libwebsockets.c:252,17'
          Dst:             lws_plat_apply_FD_CLOEXEC
        - Src:             'lib/core/libwebsockets.c:253,3'
          Dst:             close
    - functionName:    lws_assert_fourcc
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 208
      functionLinenumberEnd: 218
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          49
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - _lws_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:212,2'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:218,2'
          Dst:             __assert_fail
    - functionName:    lws_hex_random
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 183
      functionLinenumberEnd: 203
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          113
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - lws_get_random
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:187,6'
          Dst:             lws_get_random
    - functionName:    lws_hex_from_byte_array
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 167
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          84
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_hex_to_byte_array
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_hex_len_to_byte_array
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:160,38'
          Dst:             strlen
        - Src:             'lib/core/libwebsockets.c:160,9'
          Dst:             lws_hex_len_to_byte_array
    - functionName:    lws_hex_len_to_byte_array
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          123
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - char_to_hex
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:138,11'
          Dst:             char_to_hex
        - Src:             'lib/core/libwebsockets.c:143,8'
          Dst:             char_to_hex
    - functionName:    lws_vbi_decode
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          83
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_vbi_encode
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          78
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:79,3'
          Dst:             __assert_fail
    - functionName:    lws_ser_ru64be
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_ser_ru32be
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:70,21'
          Dst:             lws_ser_ru32be
        - Src:             'lib/core/libwebsockets.c:70,49'
          Dst:             lws_ser_ru32be
    - functionName:    lws_ser_ru32be
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          28
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    27
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ser_ru16be
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    18
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ser_wu64be
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_ser_wu32be
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:51,2'
          Dst:             lws_ser_wu32be
        - Src:             'lib/core/libwebsockets.c:52,2'
          Dst:             lws_ser_wu32be
    - functionName:    lws_ser_wu32be
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          33
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ser_wu16be
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_cache_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/lws-cache-ttl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 289
      functionLinenumberEnd: 300
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - lws_sul_cancel
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:295,2'
          Dst:             __assert_fail
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:297,2'
          Dst:             lws_sul_cancel
    - functionName:    lws_cache_create
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/lws-cache-ttl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 278
      functionLinenumberEnd: 284
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          69
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:279,2'
          Dst:             __assert_fail
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:280,2'
          Dst:             __assert_fail
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:281,2'
          Dst:             __assert_fail
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:282,2'
          Dst:             __assert_fail
    - functionName:    lws_cache_results_walk
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/lws-cache-ttl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 262
      functionLinenumberEnd: 274
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          75
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_ser_ru32be
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:266,26'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:267,22'
          Dst:             lws_ser_ru32be
    - functionName:    lws_cache_debug_dump
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/lws-cache-ttl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 253
      functionLinenumberEnd: 258
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_cache_footprint
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/lws-cache-ttl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 247
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_cache_expunge
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/lws-cache-ttl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 229
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_cache_item_get
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/lws-cache-ttl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 205
      functionLinenumberEnd: 216
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          60
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:208,4'
          Dst:             _lws_log
    - functionName:    lws_cache_lookup
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/lws-cache-ttl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 200
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          277
      EdgeCount:       41
      CyclomaticComplexity: 12
      functionsReached:
        - _lws_log
        - lws_cache_clear_matches
        - lws_realloc
        - lws_ser_wu32be
        - lws_strncpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:104,2'
          Dst:             lws_strncpy
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:124,3'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:126,3'
          Dst:             lws_cache_clear_matches
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:148,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:151,9'
          Dst:             lws_realloc
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:153,3'
          Dst:             lws_cache_clear_matches
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:167,3'
          Dst:             lws_ser_wu32be
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:170,3'
          Dst:             lws_ser_wu32be
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:179,2'
          Dst:             lws_cache_clear_matches
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:189,2'
          Dst:             lws_realloc
    - functionName:    lws_cache_clear_matches
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/lws-cache-ttl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          55
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - lws_dll2_remove
        - lws_realloc
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:40,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:41,3'
          Dst:             lws_realloc
    - functionName:    lws_cache_item_remove
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/lws-cache-ttl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 234
      functionLinenumberEnd: 243
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_cache_write_through
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/lws-cache-ttl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          105
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - lws_cache_item_remove
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:63,2'
          Dst:             lws_cache_item_remove
    - functionName:    lws_cache_schedule
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/lws-cache-ttl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          38
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_log
        - lws_now_usecs
        - lws_sul_schedule
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:48,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:52,9'
          Dst:             lws_now_usecs
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:51,2'
          Dst:             lws_sul_schedule
    - functionName:    dump_dll
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 560
      functionLinenumberEnd: 570
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          39
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_log
        - lwsl_hexdump_level
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:564,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/heap.c:568,2'
          Dst:             lwsl_hexdump_level
    - functionName:    lws_cache_heap_specific
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 236
      functionLinenumberEnd: 249
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          65
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:243,8'
          Dst:             strcmp
    - functionName:    sort_expiry
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_cache_item_evict_lru
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_cache_heap_item_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:163,2'
          Dst:             lws_cache_heap_item_destroy
    - functionName:    lws_cache_heap_item_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          232
      EdgeCount:       42
      CyclomaticComplexity: 10
      functionsReached:
        - __assert_fail
        - _lws_cache_heap_item_destroy
        - lws_ser_ru32be
        - strcmp
        - strlen
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:106,20'
          Dst:             strlen
        - Src:             'lib/misc/cache-ttl/heap.c:115,21'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/cache-ttl/heap.c:118,10'
          Dst:             strcmp
        - Src:             'lib/misc/cache-ttl/heap.c:126,6'
          Dst:             __assert_fail
        - Src:             'lib/misc/cache-ttl/heap.c:129,6'
          Dst:             _lws_cache_heap_item_destroy
        - Src:             'lib/misc/cache-ttl/heap.c:141,4'
          Dst:             __assert_fail
        - Src:             'lib/misc/cache-ttl/heap.c:149,2'
          Dst:             _lws_cache_heap_item_destroy
    - functionName:    _lws_cache_heap_item_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          74
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - lws_dll2_remove
        - lws_realloc
        - update_sul
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:57,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/heap.c:60,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/cache-ttl/heap.c:61,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/cache-ttl/heap.c:65,2'
          Dst:             update_sul
        - Src:             'lib/misc/cache-ttl/heap.c:70,2'
          Dst:             lws_realloc
    - functionName:    update_sul
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 214
      functionLinenumberEnd: 231
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - earliest_expiry
        - expiry_cb
        - lws_cache_schedule
        - lws_sul_cancel
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:218,2'
          Dst:             expiry_cb
        - Src:             'lib/misc/cache-ttl/heap.c:221,6'
          Dst:             earliest_expiry
        - Src:             'lib/misc/cache-ttl/heap.c:222,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/misc/cache-ttl/heap.c:226,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/heap.c:230,3'
          Dst:             lws_cache_schedule
        - Src:             'lib/misc/cache-ttl/heap.c:230,3'
          Dst:             expiry_cb
    - functionName:    expiry_cb
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          61
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lws_cache_heap_item_destroy
        - lws_now_usecs
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:175,19'
          Dst:             lws_now_usecs
        - Src:             'lib/misc/cache-ttl/heap.c:177,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/heap.c:188,3'
          Dst:             lws_cache_heap_item_destroy
    - functionName:    earliest_expiry
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 210
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          38
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    destroy_dll
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 520
      functionLinenumberEnd: 528
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_cache_heap_item_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:526,2'
          Dst:             lws_cache_heap_item_destroy
    - functionName:    lws_cache_heap_debug_dump
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 575
      functionLinenumberEnd: 592
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - dump_dll
        - lws_dll2_foreach_safe
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:586,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/heap.c:591,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/misc/cache-ttl/heap.c:591,2'
          Dst:             dump_dll
    - functionName:    lws_cache_heap_get
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 427
      functionLinenumberEnd: 445
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_cache_heap_specific
        - lws_dll2_add_head
        - lws_dll2_remove
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:431,9'
          Dst:             lws_cache_heap_specific
        - Src:             'lib/misc/cache-ttl/heap.c:436,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/cache-ttl/heap.c:437,2'
          Dst:             lws_dll2_add_head
    - functionName:    lws_cache_heap_invalidate
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 449
      functionLinenumberEnd: 494
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          149
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - _lws_cache_heap_item_destroy
        - lws_cache_heap_get
        - lws_cache_heap_item_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:456,6'
          Dst:             lws_cache_heap_get
        - Src:             'lib/misc/cache-ttl/heap.c:486,5'
          Dst:             _lws_cache_heap_item_destroy
        - Src:             'lib/misc/cache-ttl/heap.c:491,2'
          Dst:             lws_cache_heap_item_destroy
    - functionName:    lws_cache_heap_lookup
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 261
      functionLinenumberEnd: 319
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          180
      EdgeCount:       33
      CyclomaticComplexity: 9
      functionsReached:
        - lws_cache_clear_matches
        - lws_dll2_add_tail
        - lws_realloc
        - lws_strcmp_wildcard
        - strcmp
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:263,17'
          Dst:             strlen
        - Src:             'lib/misc/cache-ttl/heap.c:272,7'
          Dst:             strlen
        - Src:             'lib/misc/cache-ttl/heap.c:271,8'
          Dst:             lws_strcmp_wildcard
        - Src:             'lib/misc/cache-ttl/heap.c:273,18'
          Dst:             strlen
        - Src:             'lib/misc/cache-ttl/heap.c:287,10'
          Dst:             strcmp
        - Src:             'lib/misc/cache-ttl/heap.c:301,6'
          Dst:             lws_realloc
        - Src:             'lib/misc/cache-ttl/heap.c:304,6'
          Dst:             lws_cache_clear_matches
        - Src:             'lib/misc/cache-ttl/heap.c:312,5'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_cache_heap_tag_match
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 254
      functionLinenumberEnd: 255
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_strcmp_wildcard
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:255,33'
          Dst:             strlen
        - Src:             'lib/misc/cache-ttl/heap.c:255,50'
          Dst:             strlen
        - Src:             'lib/misc/cache-ttl/heap.c:255,9'
          Dst:             lws_strcmp_wildcard
    - functionName:    lws_cache_heap_write
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 325
      functionLinenumberEnd: 422
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          332
      EdgeCount:       56
      CyclomaticComplexity: 15
      functionsReached:
        - _lws_cache_heap_item_destroy
        - _lws_log
        - expiry_cb
        - lws_cache_heap_invalidate
        - lws_cache_item_evict_lru
        - lws_cache_schedule
        - lws_dll2_add_head
        - lws_dll2_add_sorted
        - lws_realloc
        - sort_expiry
        - strcmp
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:329,14'
          Dst:             strlen
        - Src:             'lib/misc/cache-ttl/heap.c:332,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/heap.c:359,9'
          Dst:             strcmp
        - Src:             'lib/misc/cache-ttl/heap.c:360,5'
          Dst:             _lws_cache_heap_item_destroy
        - Src:             'lib/misc/cache-ttl/heap.c:376,3'
          Dst:             lws_cache_item_evict_lru
        - Src:             'lib/misc/cache-ttl/heap.c:380,2'
          Dst:             lws_cache_heap_invalidate
        - Src:             'lib/misc/cache-ttl/heap.c:383,4'
          Dst:             lws_realloc
        - Src:             'lib/misc/cache-ttl/heap.c:409,3'
          Dst:             lws_dll2_add_sorted
        - Src:             'lib/misc/cache-ttl/heap.c:409,3'
          Dst:             sort_expiry
        - Src:             'lib/misc/cache-ttl/heap.c:413,3'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/heap.c:415,3'
          Dst:             lws_cache_schedule
        - Src:             'lib/misc/cache-ttl/heap.c:415,3'
          Dst:             expiry_cb
        - Src:             'lib/misc/cache-ttl/heap.c:419,2'
          Dst:             lws_dll2_add_head
    - functionName:    lws_cache_heap_expunge
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 533
      functionLinenumberEnd: 538
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - destroy_dll
        - lws_dll2_foreach_safe
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:536,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/misc/cache-ttl/heap.c:536,2'
          Dst:             destroy_dll
    - functionName:    lws_cache_heap_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 543
      functionLinenumberEnd: 555
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          44
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - destroy_dll
        - lws_dll2_foreach_safe
        - lws_realloc
        - lws_sul_cancel
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:550,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/misc/cache-ttl/heap.c:552,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/misc/cache-ttl/heap.c:552,2'
          Dst:             destroy_dll
        - Src:             'lib/misc/cache-ttl/heap.c:554,2'
          Dst:             lws_realloc
    - functionName:    lws_cache_heap_create
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 498
      functionLinenumberEnd: 516
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          76
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - lws_zalloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:501,2'
          Dst:             __assert_fail
        - Src:             'lib/misc/cache-ttl/heap.c:502,2'
          Dst:             __assert_fail
        - Src:             'lib/misc/cache-ttl/heap.c:505,6'
          Dst:             lws_zalloc
    - functionName:    nsc_dump_cb
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 980
      functionLinenumberEnd: 983
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lwsl_hexdump_level
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:981,2'
          Dst:             lwsl_hexdump_level
    - functionName:    nsc_get_cb
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 800
      functionLinenumberEnd: 880
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          235
      EdgeCount:       38
      CyclomaticComplexity: 12
      functionsReached:
        - _lws_log
        - lws_buflist_append_segment
        - lws_buflist_destroy_all_segments
        - lws_buflist_next_segment_len
        - lws_buflist_total_len
        - lws_buflist_use_segment
        - nsc_line_to_tag
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:811,6'
          Dst:             nsc_line_to_tag
        - Src:             'lib/misc/cache-ttl/file.c:812,3'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:816,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:818,6'
          Dst:             strcmp
        - Src:             'lib/misc/cache-ttl/file.c:819,3'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:825,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:846,6'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/misc/cache-ttl/file.c:857,10'
          Dst:             lws_buflist_total_len
        - Src:             'lib/misc/cache-ttl/file.c:866,16'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/misc/cache-ttl/file.c:871,3'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/misc/cache-ttl/file.c:877,2'
          Dst:             lws_buflist_destroy_all_segments
    - functionName:    nsc_line_to_tag
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 395
      functionLinenumberEnd: 461
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          257
      EdgeCount:       51
      CyclomaticComplexity: 12
      functionsReached:
        - _lws_log
        - atoll
        - lws_now_usecs
        - time
      functionUses:    4
      BranchProfiles:
        - Branch String:   'lib/misc/cache-ttl/file.c:415,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:422,11'
          Dst:             atoll
        - Src:             'lib/misc/cache-ttl/file.c:424,55'
          Dst:             time
        - Src:             'lib/misc/cache-ttl/file.c:425,14'
          Dst:             lws_now_usecs
        - Src:             'lib/misc/cache-ttl/file.c:458,2'
          Dst:             _lws_log
    - functionName:    atoll
      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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    nsc_lookup_cb
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 474
      functionLinenumberEnd: 525
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          155
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - lws_cache_nscookiejar_tag_match
        - lws_dll2_add_tail
        - lws_realloc
        - nsc_line_to_tag
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:495,6'
          Dst:             nsc_line_to_tag
        - Src:             'lib/misc/cache-ttl/file.c:498,6'
          Dst:             lws_cache_nscookiejar_tag_match
        - Src:             'lib/misc/cache-ttl/file.c:502,12'
          Dst:             strlen
        - Src:             'lib/misc/cache-ttl/file.c:510,4'
          Dst:             lws_realloc
        - Src:             'lib/misc/cache-ttl/file.c:522,2'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_cache_nscookiejar_tag_match
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 343
      functionLinenumberEnd: 386
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          199
      EdgeCount:       39
      CyclomaticComplexity: 11
      functionsReached:
        - _lws_log
        - nsc_match
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:344,28'
          Dst:             strlen
        - Src:             'lib/misc/cache-ttl/file.c:344,57'
          Dst:             strlen
        - Src:             'lib/misc/cache-ttl/file.c:348,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:365,3'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:368,7'
          Dst:             nsc_match
        - Src:             'lib/misc/cache-ttl/file.c:371,4'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:383,2'
          Dst:             _lws_log
    - functionName:    nsc_match
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 336
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          160
      EdgeCount:       42
      CyclomaticComplexity: 13
      functionsReached:
        - lws_strcmp_wildcard
        - strcmp
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:308,10'
          Dst:             lws_strcmp_wildcard
        - Src:             'lib/misc/cache-ttl/file.c:320,7'
          Dst:             strcmp
        - Src:             'lib/misc/cache-ttl/file.c:325,30'
          Dst:             strncmp
        - Src:             'lib/misc/cache-ttl/file.c:329,9'
          Dst:             strncmp
    - functionName:    nsc_backing_close_unlock
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - close
        - lws_snprintf
        - unlink
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:123,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:125,2'
          Dst:             lws_snprintf
        - Src:             'lib/misc/cache-ttl/file.c:128,3'
          Dst:             close
        - Src:             'lib/misc/cache-ttl/file.c:129,2'
          Dst:             unlink
    - functionName:    unlink
      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:    nsc_regen_cb
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 587
      functionLinenumberEnd: 641
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          230
      EdgeCount:       54
      CyclomaticComplexity: 16
      functionsReached:
        - _lws_log
        - lws_cache_nscookiejar_tag_match
        - nsc_line_to_tag
        - write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:596,7'
          Dst:             nsc_line_to_tag
        - Src:             'lib/misc/cache-ttl/file.c:611,4'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:614,8'
          Dst:             lws_cache_nscookiejar_tag_match
        - Src:             'lib/misc/cache-ttl/file.c:617,4'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:628,6'
          Dst:             write
        - Src:             'lib/misc/cache-ttl/file.c:632,15'
          Dst:             write
    - functionName:    nscookiejar_iterate
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 278
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         61
      ICount:          355
      EdgeCount:       82
      CyclomaticComplexity: 23
      functionsReached:
        - _lws_log
        - lseek
        - read
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:159,6'
          Dst:             lseek
        - Src:             'lib/misc/cache-ttl/file.c:165,3'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:181,10'
          Dst:             read
        - Src:             'lib/misc/cache-ttl/file.c:183,3'
          Dst:             _lws_log
    - functionName:    nsc_backing_open_lock
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          108
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - _lws_log
        - close
        - lws_snprintf
        - open
        - unlink
        - usleep
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:81,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:83,2'
          Dst:             lws_snprintf
        - Src:             'lib/misc/cache-ttl/file.c:87,13'
          Dst:             open
        - Src:             'lib/misc/cache-ttl/file.c:89,4'
          Dst:             close
        - Src:             'lib/misc/cache-ttl/file.c:94,4'
          Dst:             __errno_location
        - Src:             'lib/misc/cache-ttl/file.c:94,4'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:102,3'
          Dst:             usleep
        - Src:             'lib/misc/cache-ttl/file.c:106,7'
          Dst:             open
        - Src:             'lib/misc/cache-ttl/file.c:110,3'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:112,3'
          Dst:             unlink
    - functionName:    nsc_regen
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 646
      functionLinenumberEnd: 733
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          252
      EdgeCount:       48
      CyclomaticComplexity: 14
      functionsReached:
        - _lws_log
        - close
        - expiry_cb
        - lws_cache_schedule
        - lws_now_usecs
        - lws_snprintf
        - nsc_backing_close_unlock
        - nsc_backing_open_lock
        - nsc_regen_cb
        - nscookiejar_iterate
        - open
        - rename
        - unlink
        - write
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:651,7'
          Dst:             nsc_backing_open_lock
        - Src:             'lib/misc/cache-ttl/file.c:655,2'
          Dst:             lws_snprintf
        - Src:             'lib/misc/cache-ttl/file.c:657,2'
          Dst:             unlink
        - Src:             'lib/misc/cache-ttl/file.c:662,12'
          Dst:             open
        - Src:             'lib/misc/cache-ttl/file.c:670,6'
          Dst:             write
        - Src:             'lib/misc/cache-ttl/file.c:676,6'
          Dst:             write
        - Src:             'lib/misc/cache-ttl/file.c:679,13'
          Dst:             write
        - Src:             'lib/misc/cache-ttl/file.c:687,13'
          Dst:             lws_now_usecs
        - Src:             'lib/misc/cache-ttl/file.c:693,6'
          Dst:             nscookiejar_iterate
        - Src:             'lib/misc/cache-ttl/file.c:693,6'
          Dst:             nsc_regen_cb
        - Src:             'lib/misc/cache-ttl/file.c:696,2'
          Dst:             close
        - Src:             'lib/misc/cache-ttl/file.c:710,6'
          Dst:             unlink
        - Src:             'lib/misc/cache-ttl/file.c:711,3'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:713,6'
          Dst:             rename
        - Src:             'lib/misc/cache-ttl/file.c:714,3'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:718,3'
          Dst:             lws_cache_schedule
        - Src:             'lib/misc/cache-ttl/file.c:718,3'
          Dst:             expiry_cb
        - Src:             'lib/misc/cache-ttl/file.c:726,3'
          Dst:             close
        - Src:             'lib/misc/cache-ttl/file.c:728,2'
          Dst:             unlink
        - Src:             'lib/misc/cache-ttl/file.c:730,2'
          Dst:             nsc_backing_close_unlock
    - functionName:    rename
      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:    expiry_cb
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 737
      functionLinenumberEnd: 751
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          46
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - expiry_cb
        - lws_cache_schedule
        - nsc_regen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:745,6'
          Dst:             nsc_regen
        - Src:             'lib/misc/cache-ttl/file.c:749,3'
          Dst:             lws_cache_schedule
        - Src:             'lib/misc/cache-ttl/file.c:749,3'
          Dst:             expiry_cb
    - functionName:    lws_cache_nscookiejar_debug_dump
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 988
      functionLinenumberEnd: 1000
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - nsc_backing_close_unlock
        - nsc_backing_open_lock
        - nsc_dump_cb
        - nscookiejar_iterate
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:990,11'
          Dst:             nsc_backing_open_lock
        - Src:             'lib/misc/cache-ttl/file.c:995,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:997,2'
          Dst:             nscookiejar_iterate
        - Src:             'lib/misc/cache-ttl/file.c:997,2'
          Dst:             nsc_dump_cb
        - Src:             'lib/misc/cache-ttl/file.c:999,2'
          Dst:             nsc_backing_close_unlock
    - functionName:    lws_cache_nscookiejar_get
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 886
      functionLinenumberEnd: 911
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          89
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - nsc_backing_close_unlock
        - nsc_backing_open_lock
        - nsc_get_cb
        - nscookiejar_iterate
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:891,7'
          Dst:             nsc_backing_open_lock
        - Src:             'lib/misc/cache-ttl/file.c:906,8'
          Dst:             nscookiejar_iterate
        - Src:             'lib/misc/cache-ttl/file.c:906,8'
          Dst:             nsc_get_cb
        - Src:             'lib/misc/cache-ttl/file.c:908,2'
          Dst:             nsc_backing_close_unlock
    - functionName:    lws_cache_nscookiejar_invalidate
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 916
      functionLinenumberEnd: 919
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - nsc_regen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:919,9'
          Dst:             nsc_regen
    - functionName:    lws_cache_nscookiejar_lookup
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 531
      functionLinenumberEnd: 554
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          65
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - nsc_backing_close_unlock
        - nsc_backing_open_lock
        - nsc_lookup_cb
        - nscookiejar_iterate
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:536,7'
          Dst:             nsc_backing_open_lock
        - Src:             'lib/misc/cache-ttl/file.c:542,14'
          Dst:             strlen
        - Src:             'lib/misc/cache-ttl/file.c:545,8'
          Dst:             nscookiejar_iterate
        - Src:             'lib/misc/cache-ttl/file.c:545,8'
          Dst:             nsc_lookup_cb
        - Src:             'lib/misc/cache-ttl/file.c:551,2'
          Dst:             nsc_backing_close_unlock
    - functionName:    lws_cache_nscookiejar_write
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 760
      functionLinenumberEnd: 781
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          89
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - _lws_log
        - nsc_line_to_tag
        - nsc_regen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:764,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:766,2'
          Dst:             __assert_fail
        - Src:             'lib/misc/cache-ttl/file.c:768,6'
          Dst:             nsc_line_to_tag
        - Src:             'lib/misc/cache-ttl/file.c:774,6'
          Dst:             nsc_regen
        - Src:             'lib/misc/cache-ttl/file.c:775,3'
          Dst:             _lws_log
    - functionName:    lws_cache_nscookiejar_expunge
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 947
      functionLinenumberEnd: 960
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - unlink
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:954,6'
          Dst:             unlink
        - Src:             'lib/misc/cache-ttl/file.c:956,3'
          Dst:             _lws_log
    - functionName:    lws_cache_nscookiejar_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 964
      functionLinenumberEnd: 973
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          38
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - lws_realloc
        - lws_sul_cancel
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:970,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/misc/cache-ttl/file.c:972,2'
          Dst:             lws_realloc
    - functionName:    lws_cache_nscookiejar_create
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 924
      functionLinenumberEnd: 943
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - expiry_cb
        - lws_zalloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:928,6'
          Dst:             lws_zalloc
        - Src:             'lib/misc/cache-ttl/file.c:938,2'
          Dst:             expiry_cb
        - Src:             'lib/misc/cache-ttl/file.c:940,2'
          Dst:             _lws_log
    - functionName:    lws_dlo_filesystem_fops_open
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 807
      functionLinenumberEnd: 832
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          78
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lws_dlo_file_choose
        - lws_zalloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:813,6'
          Dst:             lws_dlo_file_choose
        - Src:             'lib/misc/dlo/dlo.c:816,12'
          Dst:             lws_zalloc
        - Src:             'lib/misc/dlo/dlo.c:829,3'
          Dst:             _lws_log
    - functionName:    lws_dlo_file_choose
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 663
      functionLinenumberEnd: 675
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          58
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - lws_dll2_get_head
        - strcmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:664,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:669,8'
          Dst:             strcmp
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      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:    dlo_filesystem_fops_read
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 780
      functionLinenumberEnd: 800
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          100
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dlo_filesystem_fops_write
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 771
      functionLinenumberEnd: 774
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dlo_filesystem_fops_seek_cur
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 756
      functionLinenumberEnd: 765
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          48
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dlo_filesystem_fops_close
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 748
      functionLinenumberEnd: 750
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          23
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - lws_realloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:749,2'
          Dst:             lws_realloc
    - functionName:    lws_display_render_add_id
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 709
      functionLinenumberEnd: 727
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_display_render_get_id
        - lws_dll2_add_tail
        - lws_strncpy
        - lws_zalloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:712,7'
          Dst:             lws_display_render_get_id
        - Src:             'lib/misc/dlo/dlo.c:718,7'
          Dst:             lws_zalloc
        - Src:             'lib/misc/dlo/dlo.c:721,3'
          Dst:             lws_strncpy
        - Src:             'lib/misc/dlo/dlo.c:723,3'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_display_render_get_id
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 695
      functionLinenumberEnd: 705
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          58
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - lws_dll2_get_head
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:696,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:699,8'
          Dst:             strcmp
    - functionName:    lws_display_id_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 679
      functionLinenumberEnd: 684
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_remove
        - lws_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:682,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:683,2'
          Dst:             lws_realloc
    - functionName:    lws_display_render_free_ids
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 689
      functionLinenumberEnd: 691
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_display_id_destroy
        - lws_dll2_foreach_safe
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:690,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/misc/dlo/dlo.c:690,2'
          Dst:             lws_display_id_destroy
    - functionName:    _lws_dlo_file_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 650
      functionLinenumberEnd: 652
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:651,2'
          Dst:             lws_realloc
    - functionName:    lws_dlo_file_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 657
      functionLinenumberEnd: 659
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_dlo_file_destroy
        - lws_dll2_foreach_safe
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:658,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/misc/dlo/dlo.c:658,2'
          Dst:             _lws_dlo_file_destroy
    - functionName:    lws_dlo_file_unregister_by_name
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 637
      functionLinenumberEnd: 646
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          38
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_remove
        - lws_dlo_file_choose
        - lws_realloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:640,30'
          Dst:             lws_dlo_file_choose
        - Src:             'lib/misc/dlo/dlo.c:644,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:645,2'
          Dst:             lws_realloc
    - functionName:    lws_dlo_file_unregister
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 627
      functionLinenumberEnd: 633
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          35
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_remove
        - lws_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:631,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:632,2'
          Dst:             lws_realloc
    - functionName:    lws_dlo_file_register
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 597
      functionLinenumberEnd: 619
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          74
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lws_dll2_add_tail
        - lws_dll2_clear
        - lws_dlo_file_choose
        - lws_dlo_file_unregister
        - lws_realloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:601,6'
          Dst:             lws_dlo_file_choose
        - Src:             'lib/misc/dlo/dlo.c:604,3'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:605,3'
          Dst:             lws_dlo_file_unregister
        - Src:             'lib/misc/dlo/dlo.c:608,6'
          Dst:             lws_realloc
        - Src:             'lib/misc/dlo/dlo.c:613,2'
          Dst:             lws_dll2_clear
        - Src:             'lib/misc/dlo/dlo.c:614,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/misc/dlo/dlo.c:616,2'
          Dst:             _lws_log
    - functionName:    lws_display_list_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 582
      functionLinenumberEnd: 593
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          45
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_display_dlo_destroy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:591,3'
          Dst:             lws_display_dlo_destroy
    - functionName:    lws_display_dlo_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 554
      functionLinenumberEnd: 578
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          88
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - dlo_clean_table_cols
        - dlo_clean_table_rows
        - lws_display_dlo_destroy
        - lws_dll2_foreach_safe
        - lws_dll2_remove
        - lws_realloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:560,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:561,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:562,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:568,3'
          Dst:             lws_display_dlo_destroy
        - Src:             'lib/misc/dlo/dlo.c:571,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/misc/dlo/dlo.c:571,2'
          Dst:             dlo_clean_table_cols
        - Src:             'lib/misc/dlo/dlo.c:572,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/misc/dlo/dlo.c:572,2'
          Dst:             dlo_clean_table_rows
        - Src:             'lib/misc/dlo/dlo.c:577,2'
          Dst:             lws_realloc
    - functionName:    dlo_clean_table_cols
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 543
      functionLinenumberEnd: 549
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_remove
        - lws_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:546,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:547,2'
          Dst:             lws_realloc
    - functionName:    dlo_clean_table_rows
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 532
      functionLinenumberEnd: 538
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_remove
        - lws_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:535,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:536,2'
          Dst:             lws_realloc
    - functionName:    lws_display_list_render_line
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 421
      functionLinenumberEnd: 528
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         44
      ICount:          385
      EdgeCount:       60
      CyclomaticComplexity: 18
      functionsReached:
        - _lws_log
        - lws_display_dlo_destroy
        - lws_dll2_get_head
        - lws_fx_add
        - lws_fx_roundup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:425,3'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:433,7'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:457,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:458,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:463,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:465,18'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo.c:470,4'
          Dst:             lws_display_dlo_destroy
        - Src:             'lib/misc/dlo/dlo.c:504,6'
          Dst:             _lws_log
    - functionName:    lws_display_render_dump_ids
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 731
      functionLinenumberEnd: 742
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          79
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:732,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:736,4'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:738,4'
          Dst:             _lws_log
    - functionName:    lws_display_get_ids_boxes
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 340
      functionLinenumberEnd: 417
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         33
      ICount:          334
      EdgeCount:       44
      CyclomaticComplexity: 13
      functionsReached:
        - _lws_log
        - lws_display_render_dump_ids
        - lws_dll2_get_head
        - lws_fx_add
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:345,6'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:363,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:364,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:368,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:376,5'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:403,5'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:414,2'
          Dst:             lws_display_render_dump_ids
    - functionName:    lws_display_dl_dump
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 330
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         36
      ICount:          322
      EdgeCount:       48
      CyclomaticComplexity: 14
      functionsReached:
        - _lws_log
        - lws_dll2_get_head
        - lws_fx_add
        - lws_fx_string
        - lws_snprintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:247,18'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:254,3'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:259,2'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:270,5'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:277,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:278,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:282,3'
          Dst:             lws_snprintf
        - Src:             'lib/misc/dlo/dlo.c:285,4'
          Dst:             lws_snprintf
        - Src:             'lib/misc/dlo/dlo.c:291,4'
          Dst:             lws_snprintf
        - Src:             'lib/misc/dlo/dlo.c:295,4'
          Dst:             lws_snprintf
        - Src:             'lib/misc/dlo/dlo.c:298,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:299,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:300,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:301,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:302,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:303,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:304,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:305,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:307,3'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:321,5'
          Dst:             _lws_log
    - functionName:    lws_display_dlo_adjust_dims
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          152
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - lws_fx_add
        - lws_fx_sub
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:200,2'
          Dst:             lws_fx_sub
        - Src:             'lib/misc/dlo/dlo.c:201,2'
          Dst:             lws_fx_sub
        - Src:             'lib/misc/dlo/dlo.c:224,5'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:237,3'
          Dst:             lws_fx_add
    - functionName:    lws_dlo_contents
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          190
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - lws_dll2_get_head
        - lws_fx_add
        - lws_fx_comp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:135,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:138,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:146,7'
          Dst:             lws_fx_comp
        - Src:             'lib/misc/dlo/dlo.c:149,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:152,7'
          Dst:             lws_fx_comp
        - Src:             'lib/misc/dlo/dlo.c:161,7'
          Dst:             lws_fx_comp
        - Src:             'lib/misc/dlo/dlo.c:172,7'
          Dst:             lws_fx_comp
        - Src:             'lib/misc/dlo/dlo.c:174,4'
          Dst:             lws_fx_add
    - functionName:    lws_surface_set_px
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          212
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_display_dlo_add
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          81
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - lws_dll2_add_tail
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:48,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/misc/dlo/dlo.c:60,2'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_display_dl_init
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_owner_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:40,2'
          Dst:             lws_dll2_owner_clear
    - functionName:    lws_fonts_score
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 345
      functionLinenumberEnd: 397
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         39
      ICount:          308
      EdgeCount:       51
      CyclomaticComplexity: 14
      functionsReached:
        - lws_tokenize
        - strlen
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-text.c:355,12'
          Dst:             strlen
        - Src:             'lib/misc/dlo/dlo-text.c:359,19'
          Dst:             lws_tokenize
        - Src:             'lib/misc/dlo/dlo-text.c:361,10'
          Dst:             strncmp
        - Src:             'lib/misc/dlo/dlo-text.c:368,10'
          Dst:             strncmp
    - functionName:    lws_font_choose
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 402
      functionLinenumberEnd: 412
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_foreach_safe
        - lws_fonts_score
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-text.c:410,3'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/misc/dlo/dlo-text.c:410,3'
          Dst:             lws_fonts_score
    - functionName:    lws_font_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 326
      functionLinenumberEnd: 328
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-text.c:327,2'
          Dst:             lws_realloc
    - functionName:    lws_fonts_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 333
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_foreach_safe
        - lws_font_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-text.c:334,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/misc/dlo/dlo-text.c:334,2'
          Dst:             lws_font_destroy
    - functionName:    castrstr
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          185
      EdgeCount:       37
      CyclomaticComplexity: 10
      functionsReached:
        - strlen
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-text.c:236,14'
          Dst:             strlen
        - Src:             'lib/misc/dlo/dlo-text.c:236,34'
          Dst:             strlen
    - functionName:    lws_font_register
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 261
      functionLinenumberEnd: 322
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          263
      EdgeCount:       50
      CyclomaticComplexity: 14
      functionsReached:
        - castrstr
        - lws_display_font_mcufont_getcwidth
        - lws_dll2_add_tail
        - lws_dll2_clear
        - lws_ser_ru16be
        - lws_ser_ru32be
        - lws_zalloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-text.c:264,6'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-text.c:267,6'
          Dst:             lws_zalloc
        - Src:             'lib/misc/dlo/dlo-text.c:272,5'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-text.c:274,6'
          Dst:             castrstr
        - Src:             'lib/misc/dlo/dlo-text.c:275,6'
          Dst:             castrstr
        - Src:             'lib/misc/dlo/dlo-text.c:280,6'
          Dst:             castrstr
        - Src:             'lib/misc/dlo/dlo-text.c:281,6'
          Dst:             castrstr
        - Src:             'lib/misc/dlo/dlo-text.c:284,6'
          Dst:             castrstr
        - Src:             'lib/misc/dlo/dlo-text.c:285,6'
          Dst:             castrstr
        - Src:             'lib/misc/dlo/dlo-text.c:288,7'
          Dst:             castrstr
        - Src:             'lib/misc/dlo/dlo-text.c:291,8'
          Dst:             castrstr
        - Src:             'lib/misc/dlo/dlo-text.c:292,8'
          Dst:             castrstr
        - Src:             'lib/misc/dlo/dlo-text.c:295,9'
          Dst:             castrstr
        - Src:             'lib/misc/dlo/dlo-text.c:300,27'
          Dst:             lws_ser_ru16be
        - Src:             'lib/misc/dlo/dlo-text.c:313,3'
          Dst:             lws_display_font_mcufont_getcwidth
        - Src:             'lib/misc/dlo/dlo-text.c:318,2'
          Dst:             lws_dll2_clear
        - Src:             'lib/misc/dlo/dlo-text.c:319,2'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_display_dlo_text_new
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 231
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          63
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_display_dlo_add
        - lws_zalloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-text.c:218,25'
          Dst:             lws_zalloc
        - Src:             'lib/misc/dlo/dlo-text.c:228,2'
          Dst:             lws_display_dlo_add
    - functionName:    lws_display_dlo_text_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - lws_realloc
        - lwsac_free
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-text.c:77,2'
          Dst:             lws_realloc
        - Src:             'lib/misc/dlo/dlo-text.c:78,2'
          Dst:             lws_realloc
        - Src:             'lib/misc/dlo/dlo-text.c:80,2'
          Dst:             lwsac_free
    - functionName:    lws_display_dlo_text_attach_glyphs
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          102
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
        - lws_fx_add
        - utf8_unicode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-text.c:198,8'
          Dst:             utf8_unicode
        - Src:             'lib/misc/dlo/dlo-text.c:202,4'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo-text.c:208,3'
          Dst:             lws_fx_add
    - functionName:    utf8_unicode
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          113
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - utf8_bytes
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-text.c:51,21'
          Dst:             utf8_bytes
    - functionName:    utf8_bytes
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          57
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_display_dlo_text_update
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 180
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          350
      EdgeCount:       63
      CyclomaticComplexity: 17
      functionsReached:
        - _lws_log
        - lws_display_font_mcufont_getcwidth
        - lws_dll2_owner_clear
        - lws_fx_add
        - lws_fx_comp
        - lws_realloc
        - lwsac_free
        - utf8_unicode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-text.c:94,3'
          Dst:             lws_realloc
        - Src:             'lib/misc/dlo/dlo-text.c:97,3'
          Dst:             lws_realloc
        - Src:             'lib/misc/dlo/dlo-text.c:99,2'
          Dst:             lws_dll2_owner_clear
        - Src:             'lib/misc/dlo/dlo-text.c:100,2'
          Dst:             lwsac_free
        - Src:             'lib/misc/dlo/dlo-text.c:124,21'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-text.c:124,9'
          Dst:             lws_fx_comp
        - Src:             'lib/misc/dlo/dlo-text.c:128,8'
          Dst:             utf8_unicode
        - Src:             'lib/misc/dlo/dlo-text.c:140,9'
          Dst:             lws_display_font_mcufont_getcwidth
        - Src:             'lib/misc/dlo/dlo-text.c:141,5'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-text.c:150,4'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo-text.c:154,18'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-text.c:154,6'
          Dst:             lws_fx_comp
        - Src:             'lib/misc/dlo/dlo-text.c:163,3'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo-text.c:167,15'
          Dst:             lws_realloc
    - functionName:    lws_display_dlo_png_new
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-png.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          106
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - lws_display_dlo_add
        - lws_realloc
        - lws_strncpy
        - lws_upng_free
        - lws_upng_new
        - lws_zalloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-png.c:171,27'
          Dst:             lws_zalloc
        - Src:             'lib/misc/dlo/dlo-png.c:176,17'
          Dst:             lws_upng_new
        - Src:             'lib/misc/dlo/dlo-png.c:181,2'
          Dst:             lws_strncpy
        - Src:             'lib/misc/dlo/dlo-png.c:186,2'
          Dst:             lws_display_dlo_add
        - Src:             'lib/misc/dlo/dlo-png.c:192,3'
          Dst:             lws_upng_free
        - Src:             'lib/misc/dlo/dlo-png.c:193,2'
          Dst:             lws_realloc
    - functionName:    lws_display_render_png
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-png.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         53
      ICount:          463
      EdgeCount:       73
      CyclomaticComplexity: 22
      functionsReached:
        - _lws_log
        - lws_flow_feed
        - lws_flow_req
        - lws_fx_add
        - lws_fx_roundup
        - lws_surface_set_px
        - lws_upng_emit_next_line
        - lws_upng_get_height
        - lws_upng_get_pixelsize
        - lws_upng_get_width
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-png.c:56,7'
          Dst:             lws_upng_get_height
        - Src:             'lib/misc/dlo/dlo-png.c:60,3'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo-png.c:67,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-png.c:68,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-png.c:69,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-png.c:70,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-png.c:73,6'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-png.c:75,17'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-png.c:78,17'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-png.c:79,9'
          Dst:             lws_upng_get_height
        - Src:             'lib/misc/dlo/dlo-png.c:92,7'
          Dst:             lws_flow_feed
        - Src:             'lib/misc/dlo/dlo-png.c:97,7'
          Dst:             lws_upng_emit_next_line
        - Src:             'lib/misc/dlo/dlo-png.c:106,7'
          Dst:             lws_flow_req
        - Src:             'lib/misc/dlo/dlo-png.c:113,5'
          Dst:             lws_upng_get_pixelsize
        - Src:             'lib/misc/dlo/dlo-png.c:115,39'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-png.c:116,31'
          Dst:             lws_upng_get_width
        - Src:             'lib/misc/dlo/dlo-png.c:118,7'
          Dst:             lws_upng_get_pixelsize
        - Src:             'lib/misc/dlo/dlo-png.c:123,3'
          Dst:             lws_surface_set_px
        - Src:             'lib/misc/dlo/dlo-png.c:126,10'
          Dst:             lws_upng_get_pixelsize
    - functionName:    lws_display_dlo_png_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-png.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_buflist_destroy_all_segments
        - lws_ss_destroy
        - lws_upng_free
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-png.c:37,3'
          Dst:             lws_ss_destroy
        - Src:             'lib/misc/dlo/dlo-png.c:39,2'
          Dst:             lws_buflist_destroy_all_segments
        - Src:             'lib/misc/dlo/dlo-png.c:42,3'
          Dst:             lws_upng_free
    - functionName:    lws_display_dlo_png_metadata_scan
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-png.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          126
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log
        - lws_upng_emit_next_line
        - lws_upng_get_height
        - lws_upng_get_width
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-png.c:145,10'
          Dst:             lws_upng_get_height
        - Src:             'lib/misc/dlo/dlo-png.c:148,7'
          Dst:             lws_upng_emit_next_line
        - Src:             'lib/misc/dlo/dlo-png.c:150,4'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo-png.c:156,7'
          Dst:             lws_upng_get_height
        - Src:             'lib/misc/dlo/dlo-png.c:157,4'
          Dst:             lws_upng_get_width
        - Src:             'lib/misc/dlo/dlo-png.c:157,4'
          Dst:             lws_upng_get_height
        - Src:             'lib/misc/dlo/dlo-png.c:157,4'
          Dst:             _lws_log
    - functionName:    lws_display_dlo_jpeg_new
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          107
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log
        - lws_display_dlo_add
        - lws_jpeg_free
        - lws_jpeg_new
        - lws_realloc
        - lws_strncpy
        - lws_zalloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-jpeg.c:176,29'
          Dst:             lws_zalloc
        - Src:             'lib/misc/dlo/dlo-jpeg.c:181,16'
          Dst:             lws_jpeg_new
        - Src:             'lib/misc/dlo/dlo-jpeg.c:185,2'
          Dst:             lws_strncpy
        - Src:             'lib/misc/dlo/dlo-jpeg.c:190,2'
          Dst:             lws_display_dlo_add
        - Src:             'lib/misc/dlo/dlo-jpeg.c:195,2'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo-jpeg.c:197,3'
          Dst:             lws_jpeg_free
        - Src:             'lib/misc/dlo/dlo-jpeg.c:199,2'
          Dst:             lws_realloc
    - functionName:    lws_display_render_jpeg
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         53
      ICount:          448
      EdgeCount:       73
      CyclomaticComplexity: 22
      functionsReached:
        - _lws_log
        - lws_flow_feed
        - lws_flow_req
        - lws_fx_add
        - lws_fx_roundup
        - lws_jpeg_emit_next_line
        - lws_jpeg_get_height
        - lws_jpeg_get_pixelsize
        - lws_jpeg_get_width
        - lws_surface_set_px
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-jpeg.c:55,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-jpeg.c:56,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-jpeg.c:57,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-jpeg.c:58,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-jpeg.c:60,7'
          Dst:             lws_jpeg_get_height
        - Src:             'lib/misc/dlo/dlo-jpeg.c:64,3'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo-jpeg.c:72,6'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-jpeg.c:74,17'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-jpeg.c:77,17'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-jpeg.c:78,9'
          Dst:             lws_jpeg_get_height
        - Src:             'lib/misc/dlo/dlo-jpeg.c:91,7'
          Dst:             lws_flow_feed
        - Src:             'lib/misc/dlo/dlo-jpeg.c:96,7'
          Dst:             lws_jpeg_emit_next_line
        - Src:             'lib/misc/dlo/dlo-jpeg.c:105,7'
          Dst:             lws_flow_req
        - Src:             'lib/misc/dlo/dlo-jpeg.c:118,5'
          Dst:             lws_jpeg_get_pixelsize
        - Src:             'lib/misc/dlo/dlo-jpeg.c:120,39'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-jpeg.c:121,31'
          Dst:             lws_jpeg_get_width
        - Src:             'lib/misc/dlo/dlo-jpeg.c:123,7'
          Dst:             lws_jpeg_get_pixelsize
        - Src:             'lib/misc/dlo/dlo-jpeg.c:128,3'
          Dst:             lws_surface_set_px
        - Src:             'lib/misc/dlo/dlo-jpeg.c:130,10'
          Dst:             lws_jpeg_get_pixelsize
    - functionName:    lws_display_dlo_jpeg_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_buflist_destroy_all_segments
        - lws_jpeg_free
        - lws_ss_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-jpeg.c:36,2'
          Dst:             lws_ss_destroy
        - Src:             'lib/misc/dlo/dlo-jpeg.c:38,2'
          Dst:             lws_buflist_destroy_all_segments
        - Src:             'lib/misc/dlo/dlo-jpeg.c:41,3'
          Dst:             lws_jpeg_free
    - functionName:    lws_display_dlo_jpeg_metadata_scan
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 170
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          123
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log
        - lws_jpeg_emit_next_line
        - lws_jpeg_get_height
        - lws_jpeg_get_width
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-jpeg.c:149,10'
          Dst:             lws_jpeg_get_height
        - Src:             'lib/misc/dlo/dlo-jpeg.c:152,7'
          Dst:             lws_jpeg_emit_next_line
        - Src:             'lib/misc/dlo/dlo-jpeg.c:154,4'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo-jpeg.c:160,7'
          Dst:             lws_jpeg_get_height
        - Src:             'lib/misc/dlo/dlo-jpeg.c:161,4'
          Dst:             lws_jpeg_get_width
        - Src:             'lib/misc/dlo/dlo-jpeg.c:161,4'
          Dst:             lws_jpeg_get_height
        - Src:             'lib/misc/dlo/dlo-jpeg.c:161,4'
          Dst:             _lws_log
    - functionName:    lws_dir_notify_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dir-notify/dir-notify.c'
      linkageType:     InternalLinkage
      functionLinenumber: 168
      functionLinenumberEnd: 180
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          61
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - close
        - lws_realloc
        - lws_set_timeout
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dir-notify/dir-notify.c:174,3'
          Dst:             lws_set_timeout
        - Src:             'lib/misc/dir-notify/dir-notify.c:176,3'
          Dst:             close
        - Src:             'lib/misc/dir-notify/dir-notify.c:178,2'
          Dst:             lws_realloc
    - functionName:    lws_dir_notify_create
      functionSourceFile: '/src/libwebsockets/lib/misc/dir-notify/dir-notify.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          145
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - close
        - inotify_add_watch
        - inotify_init1
        - lws_adopt_descriptor_vhost
        - lws_get_vhost_by_name
        - lws_realloc
        - lws_set_opaque_user_data
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dir-notify/dir-notify.c:121,25'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/misc/dir-notify/dir-notify.c:131,7'
          Dst:             lws_realloc
        - Src:             'lib/misc/dir-notify/dir-notify.c:139,11'
          Dst:             inotify_init1
        - Src:             'lib/misc/dir-notify/dir-notify.c:143,7'
          Dst:             inotify_add_watch
        - Src:             'lib/misc/dir-notify/dir-notify.c:145,3'
          Dst:             close
        - Src:             'lib/misc/dir-notify/dir-notify.c:150,12'
          Dst:             lws_adopt_descriptor_vhost
        - Src:             'lib/misc/dir-notify/dir-notify.c:153,3'
          Dst:             close
        - Src:             'lib/misc/dir-notify/dir-notify.c:157,2'
          Dst:             lws_set_opaque_user_data
        - Src:             'lib/misc/dir-notify/dir-notify.c:162,2'
          Dst:             lws_realloc
    - functionName:    inotify_init1
      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:    inotify_add_watch
      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:    lws_dir_notify_rx
      functionSourceFile: '/src/libwebsockets/lib/misc/dir-notify/dir-notify.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          159
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - close
        - lws_get_opaque_user_data
        - read
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dir-notify/dir-notify.c:78,55'
          Dst:             lws_get_opaque_user_data
        - Src:             'lib/misc/dir-notify/dir-notify.c:84,7'
          Dst:             read
        - Src:             'lib/misc/dir-notify/dir-notify.c:100,5'
          Dst:             close
    - functionName:    _lwsac_assert_valid
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 363
      functionLinenumberEnd: 390
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          111
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - _lws_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:383,3'
          Dst:             _lws_log
        - Src:             'lib/misc/lwsac/lwsac.c:389,2'
          Dst:             _lws_log
        - Src:             'lib/misc/lwsac/lwsac.c:390,2'
          Dst:             __assert_fail
    - functionName:    lwsac_detach
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 343
      functionLinenumberEnd: 358
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          54
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lwsac_free
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:353,3'
          Dst:             _lws_log
        - Src:             'lib/misc/lwsac/lwsac.c:354,3'
          Dst:             lwsac_free
        - Src:             'lib/misc/lwsac/lwsac.c:356,3'
          Dst:             _lws_log
    - functionName:    lwsac_free
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 263
      functionLinenumberEnd: 275
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsac_unreference
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 319
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          86
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log
        - lwsac_free
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:328,3'
          Dst:             _lws_log
        - Src:             'lib/misc/lwsac/lwsac.c:332,2'
          Dst:             _lws_log
        - Src:             'lib/misc/lwsac/lwsac.c:336,3'
          Dst:             _lws_log
        - Src:             'lib/misc/lwsac/lwsac.c:337,3'
          Dst:             lwsac_free
    - functionName:    lwsac_reference
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 309
      functionLinenumberEnd: 315
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:313,2'
          Dst:             _lws_log
    - functionName:    lwsac_total_alloc
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 297
      functionLinenumberEnd: 305
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          28
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsac_info
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 279
      functionLinenumberEnd: 293
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:284,3'
          Dst:             _lws_log
        - Src:             'lib/misc/lwsac/lwsac.c:290,2'
          Dst:             _lws_log
    - functionName:    lwsac_use_zero
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 258
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lwsac_use
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:253,12'
          Dst:             lwsac_use
    - functionName:    lwsac_use
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lwsac_use
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:204,9'
          Dst:             _lwsac_use
    - functionName:    _lwsac_use
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          321
      EdgeCount:       61
      CyclomaticComplexity: 17
      functionsReached:
        - _lws_log
        - lwsac_align
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:105,7'
          Dst:             lwsac_align
        - Src:             'lib/misc/lwsac/lwsac.c:152,3'
          Dst:             _lws_log
    - functionName:    lwsac_align
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          33
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsac_total_overhead
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 238
      functionLinenumberEnd: 247
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          35
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsac_scan_extant
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 234
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          146
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:224,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:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsac_use_backfill
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 209
      functionLinenumberEnd: 210
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lwsac_use
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:210,9'
          Dst:             _lwsac_use
    - functionName:    lwsac_extend
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          81
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - lwsac_align
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:78,2'
          Dst:             __assert_fail
        - Src:             'lib/misc/lwsac/lwsac.c:82,2'
          Dst:             __assert_fail
        - Src:             'lib/misc/lwsac/lwsac.c:84,33'
          Dst:             lwsac_align
        - Src:             'lib/misc/lwsac/lwsac.c:89,39'
          Dst:             lwsac_align
        - Src:             'lib/misc/lwsac/lwsac.c:90,13'
          Dst:             lwsac_align
    - functionName:    lwsac_get_next
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsac_get_tail_pos
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsac_sizeof
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_list_ptr_insert
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 41
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          65
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_system_adopt_stdin
      functionSourceFile: '/src/libwebsockets/lib/system/stdin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          81
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log
        - lws_adopt_descriptor_vhost
        - lws_get_vhost_by_name
        - lws_state_transition_steps
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/stdin.c:160,3'
          Dst:             lws_state_transition_steps
        - Src:             'lib/system/stdin.c:163,7'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/system/stdin.c:165,3'
          Dst:             _lws_log
        - Src:             'lib/system/stdin.c:169,7'
          Dst:             lws_adopt_descriptor_vhost
        - Src:             'lib/system/stdin.c:170,3'
          Dst:             _lws_log
    - functionName:    callback_system_stdin
      functionSourceFile: '/src/libwebsockets/lib/system/stdin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         68
      ICount:          431
      EdgeCount:       90
      CyclomaticComplexity: 24
      functionsReached:
        - _lws_log
        - lws_buflist_append_segment
        - lws_buflist_destroy_all_segments
        - lws_buflist_linear_use
        - lws_buflist_total_len
        - lws_get_socket_fd
        - lws_realloc
        - lws_state_transition_steps
        - read
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/system/stdin.c:36,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/system/stdin.c:53,5'
          Dst:             _lws_log
        - Src:             'lib/system/stdin.c:64,28'
          Dst:             lws_buflist_total_len
        - Src:             'lib/system/stdin.c:65,23'
          Dst:             lws_realloc
        - Src:             'lib/system/stdin.c:67,5'
          Dst:             lws_buflist_destroy_all_segments
        - Src:             'lib/system/stdin.c:70,4'
          Dst:             lws_buflist_linear_use
        - Src:             'lib/system/stdin.c:92,7'
          Dst:             _lws_log
        - Src:             'lib/system/stdin.c:110,3'
          Dst:             lws_state_transition_steps
        - Src:             'lib/system/stdin.c:120,13'
          Dst:             lws_get_socket_fd
        - Src:             'lib/system/stdin.c:123,7'
          Dst:             read
        - Src:             'lib/system/stdin.c:133,12'
          Dst:             lws_buflist_append_segment
    - functionName:    lws_extip_get_best
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 331
      functionLinenumberEnd: 353
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          108
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_extip_report
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 269
      functionLinenumberEnd: 327
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          260
      EdgeCount:       45
      CyclomaticComplexity: 13
      functionsReached:
        - _lws_log
        - lws_sa46_write_numeric_address
        - lws_smd_msg_printf
        - lws_snprintf
        - memcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/system.c:283,3'
          Dst:             _lws_log
        - Src:             'lib/system/system.c:287,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/system/system.c:288,3'
          Dst:             _lws_log
        - Src:             'lib/system/system.c:291,6'
          Dst:             memcmp
        - Src:             'lib/system/system.c:298,8'
          Dst:             lws_snprintf
        - Src:             'lib/system/system.c:301,4'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/system/system.c:302,9'
          Dst:             lws_snprintf
        - Src:             'lib/system/system.c:311,4'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/system/system.c:313,10'
          Dst:             lws_snprintf
        - Src:             'lib/system/system.c:314,9'
          Dst:             lws_snprintf
        - Src:             'lib/system/system.c:318,8'
          Dst:             lws_snprintf
        - Src:             'lib/system/system.c:321,3'
          Dst:             _lws_log
        - Src:             'lib/system/system.c:322,3'
          Dst:             lws_smd_msg_printf
        - Src:             'lib/system/system.c:325,3'
          Dst:             _lws_log
    - functionName:    lws_system_do_attach
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 263
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          115
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/system.c:229,3'
          Dst:             __assert_fail
        - Src:             'lib/system/system.c:231,4'
          Dst:             _lws_log
        - Src:             'lib/system/system.c:243,4'
          Dst:             _lws_log
        - Src:             'lib/system/system.c:259,3'
          Dst:             lws_realloc
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      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:    __lws_system_attach
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          132
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - lws_cancel_service
        - lws_dll2_add_head
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_zalloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/system.c:166,10'
          Dst:             lws_zalloc
        - Src:             'lib/system/system.c:174,3'
          Dst:             lws_dll2_add_head
        - Src:             'lib/system/system.c:176,3'
          Dst:             lws_cancel_service
        - Src:             'lib/system/system.c:190,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/system/system.c:196,4'
          Dst:             lws_dll2_remove
    - functionName:    lws_system_get_blob
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          42
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_system_blob_destroy
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          37
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - lws_buflist_destroy_all_segments
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/system.c:133,3'
          Dst:             lws_buflist_destroy_all_segments
    - functionName:    lws_system_blob_get_single_ptr
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          61
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_system_blob_get
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          120
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - lws_buflist_linear_copy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/system.c:83,3'
          Dst:             __assert_fail
        - Src:             'lib/system/system.c:98,6'
          Dst:             lws_buflist_linear_copy
    - functionName:    lws_system_blob_get_size
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_buflist_total_len
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/system.c:73,9'
          Dst:             lws_buflist_total_len
    - functionName:    lws_system_blob_heap_append
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          51
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_buflist_append_segment
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/system.c:57,2'
          Dst:             __assert_fail
        - Src:             'lib/system/system.c:59,2'
          Dst:             _lws_log
        - Src:             'lib/system/system.c:61,6'
          Dst:             lws_buflist_append_segment
    - functionName:    lws_system_blob_heap_empty
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_buflist_destroy_all_segments
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/system.c:51,2'
          Dst:             lws_buflist_destroy_all_segments
    - functionName:    lws_system_blob_direct_set
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          23
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_system_get_ops
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 35
      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:    _lws_smd_destroy
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 808
      functionLinenumberEnd: 842
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          112
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_smd_peer_destroy
        - lws_dll2_remove
        - lws_realloc
        - pthread_mutex_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:821,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/system/smd/smd.c:822,3'
          Dst:             lws_realloc
        - Src:             'lib/system/smd/smd.c:835,3'
          Dst:             _lws_smd_peer_destroy
        - Src:             'lib/system/smd/smd.c:839,2'
          Dst:             pthread_mutex_destroy
        - Src:             'lib/system/smd/smd.c:840,2'
          Dst:             pthread_mutex_destroy
    - functionName:    _lws_smd_peer_destroy
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 477
      functionLinenumberEnd: 507
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          101
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_smd_msg_destroy
        - _lws_smd_msg_peer_interested_in_msg
        - lws_dll2_remove
        - lws_realloc
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:481,6'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:484,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/system/smd/smd.c:496,7'
          Dst:             _lws_smd_msg_peer_interested_in_msg
        - Src:             'lib/system/smd/smd.c:498,5'
          Dst:             _lws_smd_msg_destroy
        - Src:             'lib/system/smd/smd.c:504,2'
          Dst:             lws_realloc
        - Src:             'lib/system/smd/smd.c:506,2'
          Dst:             pthread_mutex_unlock
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - 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:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _lws_smd_msg_peer_interested_in_msg
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _lws_smd_msg_destroy
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 197
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          83
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_dll2_remove
        - lws_log_prepend_context
        - lws_realloc
        - lwsl_context_get_cx
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:181,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/system/smd/smd.c:181,4'
          Dst:             _lws_log_cx
        - Src:             'lib/system/smd/smd.c:181,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/system/smd/smd.c:184,4'
          Dst:             __assert_fail
        - Src:             'lib/system/smd/smd.c:194,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/system/smd/smd.c:194,2'
          Dst:             _lws_log_cx
        - Src:             'lib/system/smd/smd.c:194,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/system/smd/smd.c:195,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/system/smd/smd.c:196,2'
          Dst:             lws_realloc
    - 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:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _lws_smd_msg_next_matching_filter
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 511
      functionLinenumberEnd: 527
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          75
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_smd_msg_peer_interested_in_msg
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:522,7'
          Dst:             _lws_smd_msg_peer_interested_in_msg
    - functionName:    lws_smd_message_pending
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 720
      functionLinenumberEnd: 804
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         46
      ICount:          271
      EdgeCount:       60
      CyclomaticComplexity: 16
      functionsReached:
        - _lws_log_cx
        - _lws_smd_msg_destroy
        - _lws_smd_msg_next_matching_filter
        - lws_log_prepend_context
        - lws_now_usecs
        - lwsl_context_get_cx
        - pthread_equal
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - pthread_self
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:736,31'
          Dst:             pthread_self
        - Src:             'lib/system/smd/smd.c:736,31'
          Dst:             pthread_equal
        - Src:             'lib/system/smd/smd.c:737,7'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:741,6'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:748,8'
          Dst:             lws_now_usecs
        - Src:             'lib/system/smd/smd.c:749,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/system/smd/smd.c:749,4'
          Dst:             _lws_log_cx
        - Src:             'lib/system/smd/smd.c:749,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/system/smd/smd.c:766,17'
          Dst:             _lws_smd_msg_next_matching_filter
        - Src:             'lib/system/smd/smd.c:775,4'
          Dst:             _lws_smd_msg_destroy
        - Src:             'lib/system/smd/smd.c:779,2'
          Dst:             pthread_mutex_unlock
        - Src:             'lib/system/smd/smd.c:801,3'
          Dst:             pthread_mutex_unlock
    - 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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_equal
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_smd_unregister
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 702
      functionLinenumberEnd: 716
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          89
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log_cx
        - _lws_smd_peer_destroy
        - lws_log_prepend_context
        - lwsl_context_get_cx
        - pthread_equal
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - pthread_self
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:706,27'
          Dst:             pthread_self
        - Src:             'lib/system/smd/smd.c:706,27'
          Dst:             pthread_equal
        - Src:             'lib/system/smd/smd.c:707,7'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:711,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/system/smd/smd.c:711,2'
          Dst:             _lws_log_cx
        - Src:             'lib/system/smd/smd.c:711,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/system/smd/smd.c:712,2'
          Dst:             _lws_smd_peer_destroy
        - Src:             'lib/system/smd/smd.c:715,3'
          Dst:             pthread_mutex_unlock
    - functionName:    _lws_smd_class_mask_union
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          57
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_smd_register
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 635
      functionLinenumberEnd: 698
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          215
      EdgeCount:       39
      CyclomaticComplexity: 11
      functionsReached:
        - _lws_log_cx
        - _lws_smd_class_mask_union
        - _lws_smd_msg_peer_interested_in_msg
        - lws_dll2_add_tail
        - lws_log_prepend_context
        - lws_realloc
        - lws_zalloc
        - lwsl_context_get_cx
        - pthread_equal
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - pthread_self
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:636,23'
          Dst:             lws_zalloc
        - Src:             'lib/system/smd/smd.c:647,31'
          Dst:             pthread_self
        - Src:             'lib/system/smd/smd.c:647,31'
          Dst:             pthread_equal
        - Src:             'lib/system/smd/smd.c:648,7'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:649,4'
          Dst:             lws_realloc
        - Src:             'lib/system/smd/smd.c:659,6'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:660,3'
          Dst:             lws_realloc
        - Src:             'lib/system/smd/smd.c:665,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/system/smd/smd.c:668,2'
          Dst:             _lws_smd_class_mask_union
        - Src:             'lib/system/smd/smd.c:681,7'
          Dst:             _lws_smd_msg_peer_interested_in_msg
        - Src:             'lib/system/smd/smd.c:688,2'
          Dst:             pthread_mutex_unlock
        - Src:             'lib/system/smd/smd.c:690,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/system/smd/smd.c:690,2'
          Dst:             _lws_log_cx
        - Src:             'lib/system/smd/smd.c:690,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/system/smd/smd.c:695,3'
          Dst:             pthread_mutex_unlock
    - functionName:    _lws_smd_msg_deliver_peer
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 545
      functionLinenumberEnd: 594
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          174
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - _lws_smd_msg_destroy
        - _lws_smd_msg_next_matching_filter
        - lws_log_prepend_context
        - lwsl_context_get_cx
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - pthread_self
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:553,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/system/smd/smd.c:553,2'
          Dst:             _lws_log_cx
        - Src:             'lib/system/smd/smd.c:553,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/system/smd/smd.c:568,25'
          Dst:             pthread_self
        - Src:             'lib/system/smd/smd.c:575,2'
          Dst:             __assert_fail
        - Src:             'lib/system/smd/smd.c:581,13'
          Dst:             _lws_smd_msg_next_matching_filter
        - Src:             'lib/system/smd/smd.c:584,2'
          Dst:             __assert_fail
        - Src:             'lib/system/smd/smd.c:586,6'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:590,3'
          Dst:             _lws_smd_msg_destroy
        - Src:             'lib/system/smd/smd.c:591,2'
          Dst:             pthread_mutex_unlock
    - functionName:    lws_smd_msg_distribute
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 603
      functionLinenumberEnd: 630
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          110
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_smd_msg_deliver_peer
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:614,7'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:621,27'
          Dst:             _lws_smd_msg_deliver_peer
        - Src:             'lib/system/smd/smd.c:625,3'
          Dst:             pthread_mutex_unlock
    - functionName:    _lws_smd_ss_rx_forward
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 389
      functionLinenumberEnd: 444
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          127
      EdgeCount:       19
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log
        - _lws_smd_msg_send
        - lws_ser_ru64be
        - lws_smd_msg_alloc
        - lws_smd_msg_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:400,28'
          Dst:             lws_ser_ru64be
        - Src:             'lib/system/smd/smd.c:415,6'
          Dst:             lws_smd_msg_alloc
        - Src:             'lib/system/smd/smd.c:423,31'
          Dst:             lws_ser_ru64be
        - Src:             'lib/system/smd/smd.c:432,6'
          Dst:             _lws_smd_msg_send
        - Src:             'lib/system/smd/smd.c:434,3'
          Dst:             lws_smd_msg_free
        - Src:             'lib/system/smd/smd.c:439,2'
          Dst:             _lws_log
    - functionName:    lws_smd_msg_alloc
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          84
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_log_prepend_context
        - lws_now_usecs
        - lws_realloc
        - lwsl_context_get_cx
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:46,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/system/smd/smd.c:46,3'
          Dst:             _lws_log_cx
        - Src:             'lib/system/smd/smd.c:46,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/system/smd/smd.c:51,2'
          Dst:             __assert_fail
        - Src:             'lib/system/smd/smd.c:58,8'
          Dst:             lws_realloc
        - Src:             'lib/system/smd/smd.c:64,19'
          Dst:             lws_now_usecs
    - functionName:    _lws_smd_msg_send
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 205
      functionLinenumberEnd: 285
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          266
      EdgeCount:       55
      CyclomaticComplexity: 15
      functionsReached:
        - __assert_fail
        - _lws_smd_msg_assess_peers_interested
        - _lws_smd_msg_peer_interested_in_msg
        - lws_cancel_service
        - lws_dll2_add_tail
        - lws_realloc
        - pthread_equal
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - pthread_self
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:224,31'
          Dst:             pthread_self
        - Src:             'lib/system/smd/smd.c:224,31'
          Dst:             pthread_equal
        - Src:             'lib/system/smd/smd.c:225,7'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:230,6'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:233,28'
          Dst:             _lws_smd_msg_assess_peers_interested
        - Src:             'lib/system/smd/smd.c:237,3'
          Dst:             pthread_mutex_unlock
        - Src:             'lib/system/smd/smd.c:239,3'
          Dst:             lws_realloc
        - Src:             'lib/system/smd/smd.c:241,4'
          Dst:             pthread_mutex_unlock
        - Src:             'lib/system/smd/smd.c:250,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/system/smd/smd.c:261,33'
          Dst:             _lws_smd_msg_peer_interested_in_msg
        - Src:             'lib/system/smd/smd.c:264,4'
          Dst:             __assert_fail
        - Src:             'lib/system/smd/smd.c:275,2'
          Dst:             pthread_mutex_unlock
        - Src:             'lib/system/smd/smd.c:279,3'
          Dst:             pthread_mutex_unlock
        - Src:             'lib/system/smd/smd.c:282,2'
          Dst:             lws_cancel_service
    - functionName:    lws_smd_msg_free
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:78,2'
          Dst:             lws_realloc
    - functionName:    _lws_smd_msg_assess_peers_interested
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          76
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_smd_msg_peer_interested_in_msg
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:137,20'
          Dst:             _lws_smd_msg_peer_interested_in_msg
    - functionName:    lws_smd_ss_rx_forward
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 448
      functionLinenumberEnd: 453
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          35
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_smd_ss_rx_forward
        - lws_ss_get_context
        - lws_ss_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:451,28'
          Dst:             lws_ss_get_context
        - Src:             'lib/system/smd/smd.c:453,37'
          Dst:             lws_ss_tag
        - Src:             'lib/system/smd/smd.c:453,9'
          Dst:             _lws_smd_ss_rx_forward
    - functionName:    lws_smd_ss_msg_printf
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 350
      functionLinenumberEnd: 376
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          94
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
        - lws_ser_wu64be
        - vsnprintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:358,2'
          Dst:             lws_ser_wu64be
        - Src:             'lib/system/smd/smd.c:359,2'
          Dst:             lws_ser_wu64be
        - Src:             'lib/system/smd/smd.c:362,6'
          Dst:             vsnprintf
        - Src:             'lib/system/smd/smd.c:372,2'
          Dst:             _lws_log
    - functionName:    lws_smd_msg_printf
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 344
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          106
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - lws_smd_msg_alloc
        - lws_smd_msg_free
        - lws_smd_msg_send
        - vsnprintf
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:318,6'
          Dst:             vsnprintf
        - Src:             'lib/system/smd/smd.c:324,6'
          Dst:             lws_smd_msg_alloc
        - Src:             'lib/system/smd/smd.c:331,2'
          Dst:             vsnprintf
        - Src:             'lib/system/smd/smd.c:338,6'
          Dst:             lws_smd_msg_send
        - Src:             'lib/system/smd/smd.c:339,3'
          Dst:             lws_smd_msg_free
    - functionName:    lws_smd_msg_send
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 293
      functionLinenumberEnd: 294
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_smd_msg_send
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:294,9'
          Dst:             _lws_smd_msg_send
    - functionName:    lws_close_free_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1098
      functionLinenumberEnd: 1110
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          44
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_close_free_wsi
      functionUses:    33
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/close.c:1106,2'
          Dst:             __lws_close_free_wsi
    - functionName:    __lws_close_free_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 393
      functionLinenumberEnd: 939
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         283
      ICount:          1876
      EdgeCount:       384
      CyclomaticComplexity: 103
      functionsReached:
        - __errno_location
        - __lws_change_pollfd
        - __lws_close_free_wsi
        - __lws_close_free_wsi_final
        - __lws_set_timeout
        - __lws_ssl_remove_wsi_from_buffered_list
        - __lws_tls_shutdown
        - __lws_wsi_remove_from_sul
        - __remove_wsi_socket_from_fds
        - _lws_log
        - _lws_log_cx
        - delete_from_fd
        - delete_from_fdwsi
        - lws_addrinfo_clean
        - lws_buflist_destroy_all_segments
        - lws_callback_on_writable
        - lws_dll2_is_detached
        - lws_dll2_remove
        - lws_has_buffered_out
        - lws_http_close_immortal
        - lws_inform_client_conn_fail
        - lws_is_ssl
        - lws_log_prepend_wsi
        - lws_plat_pipe_close
        - lws_realloc
        - lws_remove_child_from_any_parent
        - lws_ss_destroy
        - lws_ss_event_helper
        - lws_sul_cancel
        - lws_vfs_file_close
        - lws_wsi_tag
        - lwsi_set_state
        - lwsl_wsi_get_cx
        - shutdown
      functionUses:    8
      BranchProfiles:
        - Branch String:   'lib/core-net/close.c:557,2'
          Branch Sides:    []
        - Branch String:   'lib/core-net/close.c:718,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/close.c:406,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:406,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:406,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:410,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/close.c:411,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:411,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:411,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:418,4'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/close.c:420,5'
          Dst:             delete_from_fd
        - Src:             'lib/core-net/close.c:422,4'
          Dst:             delete_from_fdwsi
        - Src:             'lib/core-net/close.c:425,3'
          Dst:             lws_plat_pipe_close
        - Src:             'lib/core-net/close.c:461,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:464,2'
          Dst:             lws_addrinfo_clean
        - Src:             'lib/core-net/close.c:469,3'
          Dst:             lws_http_close_immortal
        - Src:             'lib/core-net/close.c:480,4'
          Dst:             __lws_close_free_wsi
        - Src:             'lib/core-net/close.c:489,3'
          Dst:             lws_remove_child_from_any_parent
        - Src:             'lib/core-net/close.c:490,3'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/close.c:532,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:546,3'
          Dst:             lws_vfs_file_close
        - Src:             'lib/core-net/close.c:568,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/close.c:574,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/close.c:577,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:577,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:577,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:580,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/close.c:586,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:586,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:586,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:587,4'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/close.c:588,4'
          Dst:             __lws_set_timeout
        - Src:             'lib/core-net/close.c:624,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:624,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:624,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:631,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:631,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:631,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:642,3'
          Dst:             lws_vfs_file_close
        - Src:             'lib/core-net/close.c:645,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/close.c:667,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/close.c:667,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/close.c:693,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:693,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:693,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:697,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/close.c:716,7'
          Dst:             lws_is_ssl
        - Src:             'lib/core-net/close.c:718,12'
          Dst:             __lws_tls_shutdown
        - Src:             'lib/core-net/close.c:724,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:724,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:724,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:725,6'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/close.c:732,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/close.c:732,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/close.c:738,9'
          Dst:             shutdown
        - Src:             'lib/core-net/close.c:742,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:742,4'
          Dst:             __errno_location
        - Src:             'lib/core-net/close.c:742,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:742,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:758,4'
          Dst:             __lws_change_pollfd
        - Src:             'lib/core-net/close.c:759,4'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/close.c:760,4'
          Dst:             __lws_set_timeout
        - Src:             'lib/core-net/close.c:768,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:768,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:768,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:779,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:785,2'
          Dst:             __lws_ssl_remove_wsi_from_buffered_list
        - Src:             'lib/core-net/close.c:786,2'
          Dst:             __lws_wsi_remove_from_sul
        - Src:             'lib/core-net/close.c:792,2'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/close.c:794,2'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/close.c:795,2'
          Dst:             lws_buflist_destroy_all_segments
        - Src:             'lib/core-net/close.c:796,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:823,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/close.c:831,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:831,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:831,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:846,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/close.c:871,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:871,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:871,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:925,2'
          Dst:             lws_remove_child_from_any_parent
        - Src:             'lib/core-net/close.c:932,2'
          Dst:             __lws_close_free_wsi_final
        - Src:             'lib/core-net/close.c:936,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/core-net/close.c:937,3'
          Dst:             lws_ss_destroy
    - functionName:    lws_addrinfo_clean
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 341
      functionLinenumberEnd: 355
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_realloc
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/close.c:343,23'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/close.c:349,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:350,3'
          Dst:             lws_realloc
    - functionName:    lws_remove_child_from_any_parent
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 287
      functionLinenumberEnd: 316
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          121
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lws_wsi_tag
        - lwsl_wsi_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/close.c:298,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:298,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/close.c:298,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:298,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:313,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:313,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:313,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_vfs_file_close
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-vfs.h'
      linkageType:     InternalLinkage
      functionLinenumber: 214
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          50
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_inform_client_conn_fail
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 321
      functionLinenumberEnd: 336
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          111
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - lws_addrinfo_clean
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/close.c:322,2'
          Dst:             lws_addrinfo_clean
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __lws_close_free_wsi_final
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 946
      functionLinenumberEnd: 1093
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         50
      ICount:          415
      EdgeCount:       66
      CyclomaticComplexity: 18
      functionsReached:
        - __errno_location
        - __lws_free_wsi
        - __lws_wsi_remove_from_sul
        - __remove_wsi_socket_from_fds
        - _lws_log_cx
        - close
        - delete_from_fd
        - delete_from_fdwsi
        - lws_bind_protocol
        - lws_header_table_attach
        - lws_log_prepend_wsi
        - lws_plat_pipe_is_fd_assocated
        - lws_realloc
        - lws_role_transition
        - lws_ssl_close
        - lws_strncpy
        - lws_wsi_mux_sibling_disconnect
        - lwsl_wsi_get_cx
        - sanity_assert_no_sockfd_traces
        - sanity_assert_no_wsi_traces
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/close.c:954,17'
          Dst:             lws_ssl_close
        - Src:             'lib/core-net/close.c:958,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:958,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:958,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:960,3'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/close.c:962,4'
          Dst:             delete_from_fd
        - Src:             'lib/core-net/close.c:969,8'
          Dst:             lws_plat_pipe_is_fd_assocated
        - Src:             'lib/core-net/close.c:971,8'
          Dst:             close
        - Src:             'lib/core-net/close.c:973,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:973,5'
          Dst:             __errno_location
        - Src:             'lib/core-net/close.c:973,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:973,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:978,3'
          Dst:             delete_from_fdwsi
        - Src:             'lib/core-net/close.c:981,3'
          Dst:             sanity_assert_no_sockfd_traces
        - Src:             'lib/core-net/close.c:1003,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:1008,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:1008,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:1008,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:1010,3'
          Dst:             lws_role_transition
        - Src:             'lib/core-net/close.c:1019,4'
          Dst:             lws_wsi_mux_sibling_disconnect
        - Src:             'lib/core-net/close.c:1030,4'
          Dst:             lws_bind_protocol
        - Src:             'lib/core-net/close.c:1036,4'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/close.c:1040,7'
          Dst:             lws_header_table_attach
        - Src:             'lib/core-net/close.c:1041,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:1041,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:1041,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:1090,2'
          Dst:             __lws_wsi_remove_from_sul
        - Src:             'lib/core-net/close.c:1091,2'
          Dst:             sanity_assert_no_wsi_traces
        - Src:             'lib/core-net/close.c:1092,2'
          Dst:             __lws_free_wsi
    - functionName:    __lws_free_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 216
      functionLinenumberEnd: 282
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          173
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - __lws_lc_untag
        - __lws_reset_wsi
        - __lws_vhost_unbind_wsi
        - __lws_wsi_remove_from_sul
        - _lws_log_cx
        - lws_dll2_remove
        - lws_log_prepend_wsi
        - lws_realloc
        - lwsl_wsi_get_cx
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/close.c:225,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:257,2'
          Dst:             __lws_reset_wsi
        - Src:             'lib/core-net/close.c:258,2'
          Dst:             __lws_wsi_remove_from_sul
        - Src:             'lib/core-net/close.c:262,3'
          Dst:             __lws_vhost_unbind_wsi
        - Src:             'lib/core-net/close.c:266,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:272,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:272,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:272,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:280,2'
          Dst:             __lws_lc_untag
        - Src:             'lib/core-net/close.c:281,2'
          Dst:             lws_realloc
    - functionName:    __lws_reset_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 210
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         54
      ICount:          550
      EdgeCount:       69
      CyclomaticComplexity: 17
      functionsReached:
        - __lws_header_table_detach
        - __lws_same_vh_protocol_remove
        - __lws_ssl_remove_wsi_from_buffered_list
        - __lws_wsi_remove_from_sul
        - lws_buflist_destroy_all_segments
        - lws_close_trans_q_leader
        - lws_conmon_addrinfo_destroy
        - lws_dll2_foreach_safe
        - lws_dll2_remove
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/close.c:48,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:53,3'
          Dst:             lws_conmon_addrinfo_destroy
        - Src:             'lib/core-net/close.c:70,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:72,3'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/core-net/close.c:72,3'
          Dst:             lws_close_trans_q_leader
        - Src:             'lib/core-net/close.c:84,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:90,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:103,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:111,2'
          Dst:             lws_buflist_destroy_all_segments
        - Src:             'lib/core-net/close.c:112,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:113,2'
          Dst:             lws_buflist_destroy_all_segments
        - Src:             'lib/core-net/close.c:119,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:126,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:127,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:129,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:143,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:149,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:154,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:157,2'
          Dst:             __lws_same_vh_protocol_remove
        - Src:             'lib/core-net/close.c:160,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:171,2'
          Dst:             __lws_ssl_remove_wsi_from_buffered_list
        - Src:             'lib/core-net/close.c:173,2'
          Dst:             __lws_wsi_remove_from_sul
        - Src:             'lib/core-net/close.c:180,2'
          Dst:             __lws_header_table_detach
    - functionName:    lws_close_trans_q_leader
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_close_free_wsi
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/close.c:34,2'
          Dst:             __lws_close_free_wsi
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      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:    lws_is_local_address
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1255
      functionLinenumberEnd: 1267
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          75
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:1259,7'
          Dst:             strcmp
        - Src:             'lib/core-net/network.c:1260,7'
          Dst:             strcmp
        - Src:             'lib/core-net/network.c:1261,7'
          Dst:             strcmp
        - Src:             'lib/core-net/network.c:1262,7'
          Dst:             strcmp
        - Src:             'lib/core-net/network.c:1263,7'
          Dst:             strcmp
    - functionName:    lws_parse_cidr
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1229
      functionLinenumberEnd: 1251
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          88
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - atoi
        - lws_sa46_parse_numeric_address
        - lws_strncpy
        - strchr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:1233,2'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/network.c:1234,14'
          Dst:             strchr
        - Src:             'lib/core-net/network.c:1240,10'
          Dst:             atoi
        - Src:             'lib/core-net/network.c:1243,6'
          Dst:             lws_sa46_parse_numeric_address
    - functionName:    lws_sa46_parse_numeric_address
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 878
      functionLinenumberEnd: 904
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          72
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - lws_parse_numeric_address
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:882,6'
          Dst:             lws_parse_numeric_address
    - functionName:    lws_parse_numeric_address
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 749
      functionLinenumberEnd: 874
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         119
      ICount:          711
      EdgeCount:       162
      CyclomaticComplexity: 45
      functionsReached:
        - _lws_log
        - lws_tokenize
        - lws_tokenize_init
        - strchr
        - strlen
        - strtol
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/core-net/network.c:777,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/network.c:752,34'
          Dst:             strchr
        - Src:             'lib/core-net/network.c:757,2'
          Dst:             lws_tokenize_init
        - Src:             'lib/core-net/network.c:759,11'
          Dst:             strlen
        - Src:             'lib/core-net/network.c:776,18'
          Dst:             lws_tokenize
        - Src:             'lib/core-net/network.c:790,9'
          Dst:             strtol
        - Src:             'lib/core-net/network.c:802,9'
          Dst:             strtol
        - Src:             'lib/core-net/network.c:864,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/network.c:871,2'
          Dst:             _lws_log
    - 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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_is_lan_address
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1181
      functionLinenumberEnd: 1225
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         70
      ICount:          377
      EdgeCount:       100
      CyclomaticComplexity: 32
      functionsReached:
        - lws_sa46_parse_numeric_address
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:1187,6'
          Dst:             lws_sa46_parse_numeric_address
    - functionName:    lws_parse_mac
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1122
      functionLinenumberEnd: 1177
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         44
      ICount:          262
      EdgeCount:       57
      CyclomaticComplexity: 15
      functionsReached:
        - _lws_log
        - lws_tokenize
        - lws_tokenize_init
        - strlen
        - strtol
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/core-net/network.c:1135,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/network.c:1129,2'
          Dst:             lws_tokenize_init
        - Src:             'lib/core-net/network.c:1131,11'
          Dst:             strlen
        - Src:             'lib/core-net/network.c:1134,18'
          Dst:             lws_tokenize
        - Src:             'lib/core-net/network.c:1149,8'
          Dst:             strtol
        - Src:             'lib/core-net/network.c:1168,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/network.c:1174,2'
          Dst:             _lws_log
    - functionName:    lws_system_get_state_manager
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1115
      functionLinenumberEnd: 1116
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sa46_copy_address
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1101
      functionLinenumberEnd: 1110
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          44
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sa46_on_net
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1048
      functionLinenumberEnd: 1097
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          188
      EdgeCount:       39
      CyclomaticComplexity: 11
      functionsReached:
        - lws_4to6
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:1057,4'
          Dst:             lws_4to6
        - Src:             'lib/core-net/network.c:1073,4'
          Dst:             lws_4to6
    - functionName:    lws_4to6
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1022
      functionLinenumberEnd: 1031
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          40
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sa46_4to6
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1036
      functionLinenumberEnd: 1042
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - htons
        - lws_4to6
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:1039,2'
          Dst:             lws_4to6
        - Src:             'lib/core-net/network.c:1041,24'
          Dst:             htons
    - 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:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sa46_compare_ads
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1005
      functionLinenumberEnd: 1018
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          78
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - memcmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:1011,10'
          Dst:             memcmp
    - functionName:    lws_write_numeric_address
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 908
      functionLinenumberEnd: 972
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         58
      ICount:          376
      EdgeCount:       79
      CyclomaticComplexity: 23
      functionsReached:
        - lws_snprintf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:915,10'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/network.c:940,14'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/network.c:951,11'
          Dst:             lws_snprintf
    - functionName:    lws_retry_sul_schedule_retry_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 559
      functionLinenumberEnd: 590
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          83
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - lws_http_check_retry_after
        - lws_retry_get_delay_ms
        - lws_sul_schedule
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:561,18'
          Dst:             lws_retry_get_delay_ms
        - Src:             'lib/core-net/network.c:585,3'
          Dst:             lws_http_check_retry_after
        - Src:             'lib/core-net/network.c:587,2'
          Dst:             lws_sul_schedule
    - functionName:    lws_retry_get_delay_ms
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 503
      functionLinenumberEnd: 535
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          189
      EdgeCount:       37
      CyclomaticComplexity: 10
      functionsReached:
        - __assert_fail
        - lws_get_random
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:524,6'
          Dst:             lws_get_random
        - Src:             'lib/core-net/network.c:527,3'
          Dst:             __assert_fail
    - functionName:    lws_retry_sul_schedule
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 542
      functionLinenumberEnd: 554
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          61
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_context
        - lws_retry_get_delay_ms
        - lws_sul_schedule
        - lwsl_context_get_cx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:544,16'
          Dst:             lws_retry_get_delay_ms
        - Src:             'lib/core-net/network.c:549,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/network.c:549,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:549,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/network.c:551,2'
          Dst:             lws_sul_schedule
    - functionName:    lws_get_addr_scope
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 597
      functionLinenumberEnd: 703
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          143
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - freeifaddrs
        - getifaddrs
        - getnameinfo
        - if_nametoindex
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:617,10'
          Dst:             if_nametoindex
        - Src:             'lib/core-net/network.c:630,2'
          Dst:             getifaddrs
        - Src:             'lib/core-net/network.c:637,3'
          Dst:             getnameinfo
        - Src:             'lib/core-net/network.c:647,8'
          Dst:             strcmp
        - Src:             'lib/core-net/network.c:648,12'
          Dst:             if_nametoindex
        - Src:             'lib/core-net/network.c:652,2'
          Dst:             freeifaddrs
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getnameinfo
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    interface_to_sa
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_interface_to_sa
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:96,9'
          Dst:             lws_interface_to_sa
    - functionName:    lws_socket_bind
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 271
      functionLinenumberEnd: 495
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         80
      ICount:          565
      EdgeCount:       108
      CyclomaticComplexity: 30
      functionsReached:
        - __errno_location
        - _lws_log_cx
        - bind
        - chmod
        - chown
        - getsockname
        - htonl
        - htons
        - interface_to_sa
        - lws_errno_describe
        - lws_get_addr_scope
        - lws_log_prepend_vhost
        - lws_log_prepend_wsi
        - lws_plat_user_colon_group_to_ids
        - lws_sa46_write_numeric_address
        - lws_strncpy
        - lwsl_vhost_get_cx
        - lwsl_wsi_get_cx
        - ntohs
        - setsockopt
        - strlen
        - unlink
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib/core-net/network.c:295,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/network.c:303,37'
          Dst:             strlen
        - Src:             'lib/core-net/network.c:304,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:304,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:304,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:311,32'
          Dst:             strlen
        - Src:             'lib/core-net/network.c:313,3'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/network.c:317,4'
          Dst:             unlink
        - Src:             'lib/core-net/network.c:330,8'
          Dst:             interface_to_sa
        - Src:             'lib/core-net/network.c:333,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:333,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:333,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:338,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:338,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:338,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:343,6'
          Dst:             lws_get_addr_scope
        - Src:             'lib/core-net/network.c:342,45'
          Dst:             htonl
        - Src:             'lib/core-net/network.c:346,36'
          Dst:             htons
        - Src:             'lib/core-net/network.c:359,11'
          Dst:             interface_to_sa
        - Src:             'lib/core-net/network.c:362,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:362,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:362,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:367,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:367,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:367,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:373,25'
          Dst:             htons
        - Src:             'lib/core-net/network.c:384,73'
          Dst:             strlen
        - Src:             'lib/core-net/network.c:384,7'
          Dst:             setsockopt
        - Src:             'lib/core-net/network.c:386,21'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:387,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:387,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:387,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:395,6'
          Dst:             bind
        - Src:             'lib/core-net/network.c:400,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:400,3'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:400,3'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/network.c:400,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:400,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:408,20'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:412,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:412,3'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/network.c:412,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:412,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:433,8'
          Dst:             lws_plat_user_colon_group_to_ids
        - Src:             'lib/core-net/network.c:435,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:435,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:435,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:441,8'
          Dst:             chown
        - Src:             'lib/core-net/network.c:442,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:442,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:442,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:448,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:448,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:448,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:453,8'
          Dst:             chmod
        - Src:             'lib/core-net/network.c:454,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:454,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:454,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:463,6'
          Dst:             getsockname
        - Src:             'lib/core-net/network.c:467,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:467,3'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:467,3'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/network.c:467,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:467,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:474,4'
          Dst:             ntohs
        - Src:             'lib/core-net/network.c:475,4'
          Dst:             ntohs
        - Src:             'lib/core-net/network.c:487,4'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/network.c:490,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/network.c:490,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:490,4'
          Dst:             lws_log_prepend_vhost
    - 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:    2
      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:    18
      BranchProfiles:  []
      Callsites:       []
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_errno_describe
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          79
      EdgeCount:       29
      CyclomaticComplexity: 16
      functionsReached:
        - lws_snprintf
      functionUses:    16
      BranchProfiles:
        - Branch String:   'lib/core-net/network.c:32,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/network.c:54,2'
          Dst:             lws_snprintf
    - functionName:    chown
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    chmod
      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:    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:    2
      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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sa46_write_numeric_address
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 976
      functionLinenumberEnd: 1001
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          111
      EdgeCount:       19
      CyclomaticComplexity: 7
      functionsReached:
        - lws_snprintf
        - lws_write_numeric_address
      functionUses:    24
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:980,10'
          Dst:             lws_write_numeric_address
        - Src:             'lib/core-net/network.c:984,10'
          Dst:             lws_write_numeric_address
        - Src:             'lib/core-net/network.c:989,10'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/network.c:993,10'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/network.c:996,10'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/network.c:998,2'
          Dst:             lws_snprintf
    - functionName:    lws_get_addresses
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          195
      EdgeCount:       43
      CyclomaticComplexity: 13
      functionsReached:
        - __errno_location
        - _lws_log_cx
        - getnameinfo
        - lws_errno_describe
        - lws_log_prepend_vhost
        - lws_plat_inet_ntop
        - lwsl_vhost_get_cx
        - strlen
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:118,8'
          Dst:             lws_plat_inet_ntop
        - Src:             'lib/core-net/network.c:123,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/network.c:123,4'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:123,4'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/network.c:123,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:123,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/network.c:130,7'
          Dst:             strncmp
        - Src:             'lib/core-net/network.c:131,26'
          Dst:             strlen
        - Src:             'lib/core-net/network.c:134,4'
          Dst:             getnameinfo
        - Src:             'lib/core-net/network.c:153,4'
          Dst:             getnameinfo
        - Src:             'lib/core-net/network.c:169,6'
          Dst:             lws_plat_inet_ntop
    - functionName:    lws_get_peer_addresses
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 255
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          140
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - _lws_log_cx
        - getpeername
        - lws_errno_describe
        - lws_get_addresses
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:234,6'
          Dst:             getpeername
        - Src:             'lib/core-net/network.c:238,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:238,3'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:238,3'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/network.c:238,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:238,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:244,9'
          Dst:             lws_get_addresses
    - functionName:    getpeername
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_peer_simple
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 197
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_get_network_wsi
        - lws_get_peer_simple_fd
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:198,8'
          Dst:             lws_get_network_wsi
        - Src:             'lib/core-net/network.c:199,9'
          Dst:             lws_get_peer_simple_fd
    - functionName:    lws_get_peer_simple_fd
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 193
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - getpeername
        - lws_errno_describe
        - lws_sa46_write_numeric_address
        - lws_snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:182,6'
          Dst:             getpeername
        - Src:             'lib/core-net/network.c:186,24'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:186,5'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/network.c:185,3'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/network.c:190,2'
          Dst:             lws_sa46_write_numeric_address
    - functionName:    lws_vhost_active_conns
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1968
      functionLinenumberEnd: 2146
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         74
      ICount:          496
      EdgeCount:       102
      CyclomaticComplexity: 30
      functionsReached:
        - _lws_generic_transaction_completed_active_conn
        - _lws_log_cx
        - lws_dll2_add_tail
        - lws_dll2_is_detached
        - lws_log_prepend_wsi
        - lws_wsi_client_stash_item
        - lws_wsi_h2_adopt
        - lws_wsi_tag
        - lwsl_wsi_get_cx
        - strcmp
        - strstr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1970,24'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/core-net/vhost.c:1977,26'
          Dst:             strstr
        - Src:             'lib/core-net/vhost.c:1985,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/vhost.c:2014,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:2014,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/vhost.c:2014,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:2014,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:2031,32'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:2050,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:2050,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:2050,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:2064,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:2064,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:2064,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:2068,6'
          Dst:             _lws_generic_transaction_completed_active_conn
        - Src:             'lib/core-net/vhost.c:2073,5'
          Dst:             lws_wsi_h2_adopt
        - Src:             'lib/core-net/vhost.c:2111,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:2111,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/vhost.c:2111,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:2111,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:2118,4'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/vhost.c:2122,5'
          Dst:             _lws_generic_transaction_completed_active_conn
    - 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:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_vhost_by_name
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1940
      functionLinenumberEnd: 1949
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          94
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - strcmp
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1943,31'
          Dst:             strcmp
    - functionName:    lws_context_deprecate
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1900
      functionLinenumberEnd: 1933
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          93
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - lws_close_free_wsi
        - lws_dll2_get_head
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1916,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/vhost.c:1922,4'
          Dst:             lws_close_free_wsi
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      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:    lws_get_vhost_listen_port
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1893
      functionLinenumberEnd: 1894
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_vhost_user
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1887
      functionLinenumberEnd: 1888
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __lws_vhost_destroy2
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1626
      functionLinenumberEnd: 1815
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         107
      ICount:          683
      EdgeCount:       138
      CyclomaticComplexity: 33
      functionsReached:
        - __errno_location
        - __lws_lc_untag
        - _lws_log
        - _lws_log_cx
        - lws_dll2_remove
        - lws_log_prepend_vhost
        - lws_realloc
        - lws_ssl_SSL_CTX_destroy
        - lws_tls_ctx_ref_destroy_all
        - lwsl_vhost_get_cx
        - unlink
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1646,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/vhost.c:1675,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1675,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1675,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1724,5'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1732,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1734,2'
          Dst:             lws_tls_ctx_ref_destroy_all
        - Src:             'lib/core-net/vhost.c:1736,2'
          Dst:             lws_ssl_SSL_CTX_destroy
        - Src:             'lib/core-net/vhost.c:1737,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1744,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1759,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1760,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1761,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1762,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1763,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1764,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1774,7'
          Dst:             unlink
        - Src:             'lib/core-net/vhost.c:1776,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1776,4'
          Dst:             __errno_location
        - Src:             'lib/core-net/vhost.c:1776,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1776,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1802,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/vhost.c:1811,2'
          Dst:             __lws_lc_untag
        - Src:             'lib/core-net/vhost.c:1814,2'
          Dst:             lws_realloc
    - functionName:    lwsl_vhost_get_cx
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2158
      functionLinenumberEnd: 2163
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    53
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_log_prepend_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2167
      functionLinenumberEnd: 2172
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          38
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_snprintf
        - lws_vh_tag
      functionUses:    53
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:2171,8'
          Dst:             lws_vh_tag
        - Src:             'lib/core-net/vhost.c:2170,8'
          Dst:             lws_snprintf
    - functionName:    lws_vh_tag
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2152
      functionLinenumberEnd: 2153
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_lc_tag
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:2153,9'
          Dst:             lws_lc_tag
    - functionName:    lws_vhost_destroy1
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1481
      functionLinenumberEnd: 1603
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         46
      ICount:          299
      EdgeCount:       59
      CyclomaticComplexity: 15
      functionsReached:
        - __lws_vhost_unbind_wsi
        - _lws_log_cx
        - lws_dll2_add_tail
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_log_prepend_vhost
        - lws_set_timeout
        - lws_tls_session_vh_destroy
        - lws_vh_tag
        - lws_vhost_bind_wsi
        - lws_vhost_compare_listen
        - lwsl_vhost_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1485,2'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1485,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1485,2'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1503,2'
          Dst:             lws_tls_session_vh_destroy
        - Src:             'lib/core-net/vhost.c:1508,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/vhost.c:1525,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/vhost.c:1539,8'
          Dst:             lws_vhost_compare_listen
        - Src:             'lib/core-net/vhost.c:1548,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1548,5'
          Dst:             lws_vh_tag
        - Src:             'lib/core-net/vhost.c:1548,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1548,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1551,5'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/vhost.c:1552,5'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/vhost.c:1565,5'
          Dst:             __lws_vhost_unbind_wsi
        - Src:             'lib/core-net/vhost.c:1566,5'
          Dst:             lws_vhost_bind_wsi
        - Src:             'lib/core-net/vhost.c:1581,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/vhost.c:1585,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/vhost.c:1586,3'
          Dst:             lws_set_timeout
    - functionName:    lws_vhost_compare_listen
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1445
      functionLinenumberEnd: 1448
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          84
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1447,32'
          Dst:             strcmp
    - functionName:    lws_vhost_foreach_listen_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1455
      functionLinenumberEnd: 1469
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_dll2_foreach_safe
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1461,7'
          Dst:             lws_dll2_foreach_safe
    - functionName:    __lws_vhost_destroy_pt_wsi_dieback_start
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1377
      functionLinenumberEnd: 1438
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          174
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_vhost
        - lws_log_prepend_wsi
        - lws_set_timeout
        - lwsl_vhost_get_cx
        - lwsl_wsi_get_cx
        - wsi_from_fd
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1406,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1406,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1406,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1407,4'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/vhost.c:1419,21'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/vhost.c:1423,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:1423,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1423,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:1426,4'
          Dst:             lws_set_timeout
    - functionName:    lws_destroy_event_pipe
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1354
      functionLinenumberEnd: 1363
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lws_plat_pipe_close
        - lws_realloc
        - lws_wsi_extract_from_loop
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1357,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:1357,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1357,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:1359,6'
          Dst:             lws_wsi_extract_from_loop
        - Src:             'lib/core-net/vhost.c:1360,2'
          Dst:             lws_plat_pipe_close
        - Src:             'lib/core-net/vhost.c:1362,3'
          Dst:             lws_realloc
    - functionName:    __lws_create_event_pipes
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1295
      functionLinenumberEnd: 1350
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          102
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - __lws_lc_tag
        - __lws_wsi_create_with_role
        - lws_plat_pipe_create
        - lws_wsi_inject_to_loop
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1316,9'
          Dst:             __lws_wsi_create_with_role
        - Src:             'lib/core-net/vhost.c:1321,3'
          Dst:             __lws_lc_tag
        - Src:             'lib/core-net/vhost.c:1327,8'
          Dst:             lws_plat_pipe_create
        - Src:             'lib/core-net/vhost.c:1340,8'
          Dst:             lws_wsi_inject_to_loop
    - functionName:    lws_cancel_service
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1277
      functionLinenumberEnd: 1291
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_context
        - lws_plat_pipe_signal
        - lwsl_context_get_cx
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1284,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/vhost.c:1284,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1284,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/vhost.c:1288,4'
          Dst:             lws_plat_pipe_signal
    - functionName:    lws_cancel_service_pt
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1271
      functionLinenumberEnd: 1273
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_plat_pipe_signal
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1272,2'
          Dst:             lws_plat_pipe_signal
    - functionName:    lws_init_vhost_client_ssl
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1260
      functionLinenumberEnd: 1266
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_context_init_client_ssl
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1266,9'
          Dst:             lws_context_init_client_ssl
    - functionName:    lws_vhost_set_mounts
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1251
      functionLinenumberEnd: 1255
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_vhost_destroy
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1845
      functionLinenumberEnd: 1882
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          57
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __lws_vhost_destroy2
        - __lws_vhost_destroy_pt_wsi_dieback_start
        - _lws_log_cx
        - lws_log_prepend_vhost
        - lws_vhost_destroy1
        - lwsl_vhost_get_cx
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1851,2'
          Dst:             lws_vhost_destroy1
        - Src:             'lib/core-net/vhost.c:1855,2'
          Dst:             __lws_vhost_destroy_pt_wsi_dieback_start
        - Src:             'lib/core-net/vhost.c:1858,2'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1858,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1858,2'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1862,3'
          Dst:             __lws_vhost_destroy2
    - functionName:    lws_create_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 680
      functionLinenumberEnd: 1247
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         174
      ICount:          1536
      EdgeCount:       230
      CyclomaticComplexity: 58
      functionsReached:
        - __lws_lc_tag
        - __lws_lc_untag
        - _lws_log
        - _lws_log_cx
        - _lws_vhost_init_server
        - getenv
        - lws_context_init_client_ssl
        - lws_context_init_server_ssl
        - lws_log_prepend_vhost
        - lws_protocol_init
        - lws_realloc
        - lws_set_proxy
        - lws_snprintf
        - lws_strdup
        - lws_strncpy
        - lws_vhost_destroy
        - lws_zalloc
        - lwsl_vhost_get_cx
        - strcpy
        - strlen
      functionUses:    5
      BranchProfiles:
        - Branch String:   'lib/core-net/vhost.c:1085,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/vhost.c:713,33'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:713,8'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/vhost.c:733,33'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:747,8'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/vhost.c:749,9'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/vhost.c:751,9'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/vhost.c:754,2'
          Dst:             __lws_lc_tag
        - Src:             'lib/core-net/vhost.c:776,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:776,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:776,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:846,3'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/vhost.c:850,33'
          Dst:             lws_strdup
        - Src:             'lib/core-net/vhost.c:852,41'
          Dst:             lws_strdup
        - Src:             'lib/core-net/vhost.c:855,40'
          Dst:             lws_strdup
        - Src:             'lib/core-net/vhost.c:858,34'
          Dst:             lws_strdup
        - Src:             'lib/core-net/vhost.c:860,33'
          Dst:             lws_strdup
        - Src:             'lib/core-net/vhost.c:884,13'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:886,13'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:890,6'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:894,13'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:901,11'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:930,10'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/vhost.c:941,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/vhost.c:1055,4'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/vhost.c:1080,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1080,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1080,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1087,4'
          Dst:             strcpy
        - Src:             'lib/core-net/vhost.c:1090,4'
          Dst:             strcpy
        - Src:             'lib/core-net/vhost.c:1093,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/vhost.c:1096,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1096,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1096,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1103,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1103,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1103,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1128,3'
          Dst:             lws_set_proxy
        - Src:             'lib/core-net/vhost.c:1136,7'
          Dst:             getenv
        - Src:             'lib/core-net/vhost.c:1138,4'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/vhost.c:1139,4'
          Dst:             lws_set_proxy
        - Src:             'lib/core-net/vhost.c:1156,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1156,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1156,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1181,6'
          Dst:             lws_context_init_server_ssl
        - Src:             'lib/core-net/vhost.c:1182,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1182,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1182,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1187,6'
          Dst:             lws_context_init_client_ssl
        - Src:             'lib/core-net/vhost.c:1188,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1188,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1188,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1197,7'
          Dst:             _lws_vhost_init_server
        - Src:             'lib/core-net/vhost.c:1200,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1200,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1200,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1226,7'
          Dst:             lws_protocol_init
        - Src:             'lib/core-net/vhost.c:1227,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1227,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1227,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1234,2'
          Dst:             lws_vhost_destroy
        - Src:             'lib/core-net/vhost.c:1239,2'
          Dst:             __lws_lc_untag
        - Src:             'lib/core-net/vhost.c:1241,2'
          Dst:             lws_realloc
    - functionName:    lws_protocol_init
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 600
      functionLinenumberEnd: 649
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         29
      ICount:          185
      EdgeCount:       38
      CyclomaticComplexity: 11
      functionsReached:
        - _lws_log_cx
        - lws_finalize_startup
        - lws_log_prepend_context
        - lws_log_prepend_vhost
        - lws_protocol_init_vhost
        - lws_tls_check_all_cert_lifetimes
        - lwsl_context_get_cx
        - lwsl_vhost_get_cx
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:609,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/vhost.c:609,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:609,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/vhost.c:620,7'
          Dst:             lws_protocol_init_vhost
        - Src:             'lib/core-net/vhost.c:621,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:621,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:621,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:631,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/vhost.c:631,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:631,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/vhost.c:637,4'
          Dst:             lws_finalize_startup
        - Src:             'lib/core-net/vhost.c:644,3'
          Dst:             lws_tls_check_all_cert_lifetimes
    - functionName:    lws_protocol_init_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 385
      functionLinenumberEnd: 591
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         88
      ICount:          761
      EdgeCount:       118
      CyclomaticComplexity: 32
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_vhost
        - lws_realloc
        - lws_vhost_protocol_options
        - lwsl_vhost_get_cx
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:416,9'
          Dst:             lws_vhost_protocol_options
        - Src:             'lib/core-net/vhost.c:426,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:426,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:426,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:431,10'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:432,6'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:432,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:432,6'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:437,10'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:438,6'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:438,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:438,6'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:446,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:446,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:446,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:454,9'
          Dst:             lws_vhost_protocol_options
        - Src:             'lib/core-net/vhost.c:478,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:478,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:478,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:485,6'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:488,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:488,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:488,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:508,9'
          Dst:             lws_vhost_protocol_options
        - Src:             'lib/core-net/vhost.c:518,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:518,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:518,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:523,10'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:524,6'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:524,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:524,6'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:529,10'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:530,6'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:530,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:530,6'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:538,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:538,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:538,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:546,9'
          Dst:             lws_vhost_protocol_options
        - Src:             'lib/core-net/vhost.c:570,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:570,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:570,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:577,6'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:580,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:580,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:580,5'
          Dst:             lws_log_prepend_vhost
    - functionName:    lws_vhost_protocol_options
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 368
      functionLinenumberEnd: 381
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          60
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - strcmp
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:375,8'
          Dst:             strcmp
    - functionName:    lws_vhd_find_by_pvo
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 322
      functionLinenumberEnd: 364
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          139
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_vhost
        - lws_pvo_search
        - lwsl_vhost_get_cx
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:336,8'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:341,9'
          Dst:             lws_pvo_search
        - Src:             'lib/core-net/vhost.c:345,9'
          Dst:             lws_pvo_search
        - Src:             'lib/core-net/vhost.c:350,9'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:359,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:359,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:359,4'
          Dst:             lws_log_prepend_vhost
    - functionName:    lws_protocol_vh_priv_get
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 291
      functionLinenumberEnd: 317
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          193
      EdgeCount:       47
      CyclomaticComplexity: 14
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_vhost
        - lwsl_vhost_get_cx
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:305,9'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:311,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:311,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:311,4'
          Dst:             lws_log_prepend_vhost
    - functionName:    lws_protocol_vh_priv_zalloc
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 250
      functionLinenumberEnd: 286
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          225
      EdgeCount:       51
      CyclomaticComplexity: 15
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_vhost
        - lws_zalloc
        - lwsl_vhost_get_cx
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:258,39'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/vhost.c:273,9'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:279,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:279,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:279,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:284,32'
          Dst:             lws_zalloc
    - functionName:    lws_role_call_client_bind
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 223
      functionLinenumberEnd: 244
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          165
      EdgeCount:       39
      CyclomaticComplexity: 12
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_role_call_adoption_bind
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         67
      ICount:          430
      EdgeCount:       92
      CyclomaticComplexity: 27
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lws_role_by_name
        - lwsl_wsi_get_cx
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:153,4'
          Dst:             lws_role_by_name
        - Src:             'lib/core-net/vhost.c:159,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:159,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:159,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:162,8'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:175,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:175,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:175,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:180,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:180,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:180,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:206,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:206,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:206,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_role_by_name
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          72
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - strcmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:100,8'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:104,7'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:108,7'
          Dst:             strcmp
    - functionName:    lws_role_call_alpn_negotiated
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          125
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
        - strcmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:123,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:123,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:123,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:127,20'
          Dst:             strcmp
    - functionName:    lws_callback_on_writable_all_protocol
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 642
      functionLinenumberEnd: 665
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          129
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - lws_callback_on_writable_all_protocol_vhost
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:655,9'
          Dst:             strcmp
        - Src:             'lib/core-net/pollfd.c:658,4'
          Dst:             lws_callback_on_writable_all_protocol_vhost
    - functionName:    lws_callback_on_writable_all_protocol_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 608
      functionLinenumberEnd: 637
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          163
      EdgeCount:       30
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_callback_on_writable
        - lws_dll2_get_head
        - lws_log_prepend_vhost
        - lwsl_vhost_get_cx
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:614,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/pollfd.c:614,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:614,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/pollfd.c:624,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/pollfd.c:628,3'
          Dst:             strcmp
        - Src:             'lib/core-net/pollfd.c:628,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/pollfd.c:632,3'
          Dst:             lws_callback_on_writable
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      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:    lws_callback_on_writable
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 527
      functionLinenumberEnd: 554
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          159
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - __lws_change_pollfd
        - _lws_log_cx
        - lws_get_network_wsi
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    48
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:542,7'
          Dst:             lws_get_network_wsi
        - Src:             'lib/core-net/pollfd.c:545,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/pollfd.c:545,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:545,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/pollfd.c:550,6'
          Dst:             __lws_change_pollfd
    - functionName:    __lws_change_pollfd
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 478
      functionLinenumberEnd: 508
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          91
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_change_pollfd
        - lws_get_context
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:487,12'
          Dst:             lws_get_context
        - Src:             'lib/core-net/pollfd.c:498,8'
          Dst:             _lws_change_pollfd
    - functionName:    _lws_change_pollfd
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 222
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         67
      ICount:          514
      EdgeCount:       88
      CyclomaticComplexity: 23
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_cancel_service_pt
        - lws_log_prepend_wsi
        - lws_plat_change_pollfd
        - lws_realloc
        - lwsl_wsi_get_cx
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:43,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/pollfd.c:65,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/pollfd.c:65,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:65,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/pollfd.c:105,9'
          Dst:             lws_realloc
        - Src:             'lib/core-net/pollfd.c:118,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/pollfd.c:133,3'
          Dst:             lws_cancel_service_pt
        - Src:             'lib/core-net/pollfd.c:149,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/pollfd.c:156,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/pollfd.c:156,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:156,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/pollfd.c:202,7'
          Dst:             lws_plat_change_pollfd
        - Src:             'lib/core-net/pollfd.c:203,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/pollfd.c:203,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:203,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/pollfd.c:216,5'
          Dst:             lws_cancel_service_pt
    - functionName:    lws_same_vh_protocol_remove
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 591
      functionLinenumberEnd: 602
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __lws_same_vh_protocol_remove
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:598,2'
          Dst:             __lws_same_vh_protocol_remove
    - functionName:    __lws_same_vh_protocol_remove
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 584
      functionLinenumberEnd: 587
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - lws_dll2_remove
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:586,3'
          Dst:             lws_dll2_remove
    - functionName:    lws_same_vh_protocol_insert
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 568
      functionLinenumberEnd: 580
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          51
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_add_head
        - lws_dll2_remove
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:572,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/pollfd.c:573,2'
          Dst:             lws_dll2_add_head
    - functionName:    lws_change_pollfd
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 512
      functionLinenumberEnd: 522
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          40
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_change_pollfd
      functionUses:    28
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:519,8'
          Dst:             __lws_change_pollfd
    - functionName:    __remove_wsi_socket_from_fds
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 363
      functionLinenumberEnd: 474
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         44
      ICount:          332
      EdgeCount:       56
      CyclomaticComplexity: 14
      functionsReached:
        - __assert_fail
        - __lws_same_vh_protocol_remove
        - _lws_log_cx
        - delete_from_fd
        - lws_accept_modulation
        - lws_log_prepend_wsi
        - lws_plat_delete_socket_from_fds
        - lwsl_wsi_get_cx
        - wsi_from_fd
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:379,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/pollfd.c:379,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:379,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/pollfd.c:393,2'
          Dst:             __lws_same_vh_protocol_remove
        - Src:             'lib/core-net/pollfd.c:399,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/pollfd.c:412,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/pollfd.c:415,3'
          Dst:             delete_from_fd
        - Src:             'lib/core-net/pollfd.c:426,3'
          Dst:             lws_plat_delete_socket_from_fds
        - Src:             'lib/core-net/pollfd.c:432,14'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/pollfd.c:434,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/pollfd.c:434,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:434,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/pollfd.c:461,3'
          Dst:             lws_accept_modulation
    - functionName:    lws_accept_modulation
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 232
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          72
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_change_pollfd
        - lws_dll2_get_head
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:237,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/pollfd.c:242,4'
          Dst:             _lws_change_pollfd
    - functionName:    __insert_wsi_socket_into_fds
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 273
      functionLinenumberEnd: 357
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          247
      EdgeCount:       37
      CyclomaticComplexity: 9
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - insert_wsi
        - lws_accept_modulation
        - lws_log_prepend_context
        - lws_log_prepend_wsi
        - lws_plat_insert_socket_into_fds
        - lwsl_context_get_cx
        - lwsl_wsi_get_cx
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:284,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/pollfd.c:284,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:284,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/pollfd.c:288,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/pollfd.c:288,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:288,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/pollfd.c:296,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/pollfd.c:296,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:296,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/pollfd.c:303,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/pollfd.c:306,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/pollfd.c:310,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/pollfd.c:320,6'
          Dst:             insert_wsi
        - Src:             'lib/core-net/pollfd.c:331,2'
          Dst:             lws_plat_insert_socket_into_fds
        - Src:             'lib/core-net/pollfd.c:344,3'
          Dst:             lws_accept_modulation
    - functionName:    __dump_fds
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 254
      functionLinenumberEnd: 266
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          97
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_context
        - lws_wsi_tag
        - lwsl_context_get_cx
        - wsi_from_fd
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:257,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/pollfd.c:257,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:257,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/pollfd.c:260,21'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/pollfd.c:262,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/pollfd.c:262,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/pollfd.c:262,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:262,3'
          Dst:             lws_log_prepend_context
    - functionName:    lws_service_tsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1011
      functionLinenumberEnd: 1038
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          86
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_plat_service_tsi
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/service.c:1033,6'
          Dst:             _lws_plat_service_tsi
    - functionName:    lws_service
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 983
      functionLinenumberEnd: 1007
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          89
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - lws_plat_service
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/service.c:1001,6'
          Dst:             lws_plat_service
    - functionName:    lws_service_fd
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 977
      functionLinenumberEnd: 978
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_service_fd_tsi
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/service.c:978,9'
          Dst:             lws_service_fd_tsi
    - functionName:    lws_service_fd_tsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 941
      functionLinenumberEnd: 973
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          138
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - _lws_service_fd_tsi
        - wsi_from_fd
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/service.c:952,8'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/service.c:965,8'
          Dst:             _lws_service_fd_tsi
    - functionName:    _lws_service_fd_tsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 722
      functionLinenumberEnd: 936
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         65
      ICount:          396
      EdgeCount:       78
      CyclomaticComplexity: 15
      functionsReached:
        - __assert_fail
        - __lws_change_pollfd
        - __lws_tls_shutdown
        - __remove_wsi_socket_from_fds
        - _lws_log_cx
        - close
        - lws_buflist_total_len
        - lws_callback_on_writable
        - lws_client_connect_3_connect
        - lws_close_free_wsi
        - lws_is_ssl
        - lws_log_prepend_wsi
        - lws_set_timeout
        - lwsl_wsi_get_cx
        - wsi_from_fd
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/core-net/service.c:827,3'
          Branch Sides:    []
        - Branch String:   'lib/core-net/service.c:883,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/service.c:740,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:743,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:746,8'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/service.c:776,4'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/service.c:778,4'
          Dst:             close
        - Src:             'lib/core-net/service.c:780,8'
          Dst:             lws_client_connect_3_connect
        - Src:             'lib/core-net/service.c:792,9'
          Dst:             lws_buflist_total_len
        - Src:             'lib/core-net/service.c:799,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:799,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:799,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:810,4'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/service.c:821,6'
          Dst:             lws_is_ssl
        - Src:             'lib/core-net/service.c:827,11'
          Dst:             __lws_tls_shutdown
        - Src:             'lib/core-net/service.c:865,3'
          Dst:             __lws_change_pollfd
        - Src:             'lib/core-net/service.c:874,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:897,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:897,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:897,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:898,3'
          Dst:             lws_close_free_wsi
        - Src:             'lib/core-net/service.c:908,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:927,3'
          Dst:             lws_callback_on_writable
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      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:    lws_service_flag_pending
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 649
      functionLinenumberEnd: 717
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          239
      EdgeCount:       43
      CyclomaticComplexity: 12
      functionsReached:
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/service.c:690,2'
          Dst:             lws_dll2_get_head
    - functionName:    lws_service_do_ripe_rxflow
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 598
      functionLinenumberEnd: 639
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          157
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - _lws_log_cx
        - lws_close_free_wsi
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/service.c:619,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:619,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:619,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:631,5'
          Dst:             lws_close_free_wsi
    - functionName:    lws_buflist_aware_finished_consuming
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 554
      functionLinenumberEnd: 594
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          201
      EdgeCount:       46
      CyclomaticComplexity: 14
      functionsReached:
        - _lws_log_cx
        - lws_buflist_append_segment
        - lws_buflist_use_segment
        - lws_dll2_add_head
        - lws_dll2_is_detached
        - lws_dll2_remove
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/service.c:565,13'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/core-net/service.c:571,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:571,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:571,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:572,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/service.c:580,7'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core-net/service.c:586,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:586,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:586,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:587,8'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/service.c:588,5'
          Dst:             lws_dll2_add_head
    - functionName:    lws_buflist_aware_read
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 466
      functionLinenumberEnd: 549
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          305
      EdgeCount:       63
      CyclomaticComplexity: 18
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - lws_buflist_append_segment
        - lws_buflist_next_segment_len
        - lws_dll2_add_head
        - lws_dll2_is_detached
        - lws_log_prepend_wsi
        - lws_ssl_capable_read
        - lwsl_wsi_get_cx
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/service.c:490,13'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/core-net/service.c:499,18'
          Dst:             lws_ssl_capable_read
        - Src:             'lib/core-net/service.c:501,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:501,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:501,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:505,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/service.c:523,7'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core-net/service.c:526,12'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/service.c:527,4'
          Dst:             lws_dll2_add_head
    - functionName:    lws_service_adjust_timeout
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 376
      functionLinenumberEnd: 456
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          253
      EdgeCount:       60
      CyclomaticComplexity: 18
      functionsReached:
        - __lws_sul_service_ripe
        - lws_now_usecs
        - lws_protocol_init
        - lws_smd_message_pending
        - lws_smd_msg_distribute
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/service.c:383,21'
          Dst:             lws_protocol_init
        - Src:             'lib/core-net/service.c:387,14'
          Dst:             lws_smd_message_pending
        - Src:             'lib/core-net/service.c:388,3'
          Dst:             lws_smd_msg_distribute
        - Src:             'lib/core-net/service.c:389,7'
          Dst:             lws_smd_message_pending
        - Src:             'lib/core-net/service.c:402,36'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/service.c:401,7'
          Dst:             __lws_sul_service_ripe
    - functionName:    lws_rxflow_cache
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 327
      functionLinenumberEnd: 368
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          163
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - _lws_log_cx
        - lws_buflist_append_segment
        - lws_buflist_next_segment_len
        - lws_buflist_use_segment
        - lws_dll2_add_head
        - lws_dll2_is_detached
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/service.c:334,9'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/core-net/service.c:345,4'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/core-net/service.c:346,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:346,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:346,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:356,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:356,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:356,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:357,6'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core-net/service.c:362,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:362,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:362,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:363,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/service.c:364,4'
          Dst:             lws_dll2_add_head
    - functionName:    lws_handle_POLLOUT_event
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 323
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         74
      ICount:          466
      EdgeCount:       96
      CyclomaticComplexity: 24
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_callback_as_writeable
        - lws_change_pollfd
        - lws_has_buffered_out
        - lws_issue_raw
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    5
      BranchProfiles:
        - Branch String:   'lib/core-net/service.c:228,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/service.c:168,6'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/service.c:169,7'
          Dst:             lws_issue_raw
        - Src:             'lib/core-net/service.c:170,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:170,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:170,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:221,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:237,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:246,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/service.c:247,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:247,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:247,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:260,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:260,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:260,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:261,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/service.c:262,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:262,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:262,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:292,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:292,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:292,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:298,6'
          Dst:             lws_callback_as_writeable
        - Src:             'lib/core-net/service.c:302,7'
          Dst:             lws_change_pollfd
    - functionName:    lws_callback_as_writeable
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          47
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - user_callback_handle_rxflow
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/service.c:131,6'
          Dst:             user_callback_handle_rxflow
    - functionName:    lws_service_assert_loop_thread
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    17
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sul_schedule_wakesuspend
      functionSourceFile: '/src/libwebsockets/lib/core-net/sorted-usec-list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 312
      functionLinenumberEnd: 328
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - lws_now_usecs
        - lws_sul2_schedule
        - lws_sul_cancel
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/sorted-usec-list.c:315,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/sorted-usec-list.c:320,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/sorted-usec-list.c:323,13'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/sorted-usec-list.c:324,3'
          Dst:             lws_sul2_schedule
    - functionName:    lws_sul_cancel
      functionSourceFile: '/src/libwebsockets/lib/core-net/sorted-usec-list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_remove
      functionUses:    37
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/sorted-usec-list.c:70,2'
          Dst:             lws_dll2_remove
    - functionName:    lws_sul2_schedule
      functionSourceFile: '/src/libwebsockets/lib/core-net/sorted-usec-list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          54
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - __lws_sul_insert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/sorted-usec-list.c:84,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/sorted-usec-list.c:86,2'
          Dst:             __lws_sul_insert
    - functionName:    __lws_sul_insert
      functionSourceFile: '/src/libwebsockets/lib/core-net/sorted-usec-list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - lws_dll2_add_sorted
        - lws_dll2_remove
        - sul_compare
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/sorted-usec-list.c:53,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/sorted-usec-list.c:55,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/sorted-usec-list.c:62,2'
          Dst:             lws_dll2_add_sorted
        - Src:             'lib/core-net/sorted-usec-list.c:62,2'
          Dst:             sul_compare
    - functionName:    sul_compare
      functionSourceFile: '/src/libwebsockets/lib/core-net/sorted-usec-list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sul_schedule
      functionSourceFile: '/src/libwebsockets/lib/core-net/sorted-usec-list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 290
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - lws_now_usecs
        - lws_sul2_schedule
        - lws_sul_cancel
      functionUses:    19
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/sorted-usec-list.c:293,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/sorted-usec-list.c:298,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/sorted-usec-list.c:301,13'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/sorted-usec-list.c:302,3'
          Dst:             lws_sul2_schedule
    - functionName:    lws_sul_earliest_wakeable_event
      functionSourceFile: '/src/libwebsockets/lib/core-net/sorted-usec-list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 253
      functionLinenumberEnd: 285
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          116
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - lws_dll2_get_head
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/sorted-usec-list.c:265,6'
          Dst:             lws_dll2_get_head
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      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:    lws_sul_nonmonotonic_adjust
      functionSourceFile: '/src/libwebsockets/lib/core-net/sorted-usec-list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 244
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          107
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - lws_dll2_get_head
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/sorted-usec-list.c:222,4'
          Dst:             lws_dll2_get_head
    - functionName:    __lws_sul_service_ripe
      functionSourceFile: '/src/libwebsockets/lib/core-net/sorted-usec-list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          187
      EdgeCount:       41
      CyclomaticComplexity: 11
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_system_do_attach
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/sorted-usec-list.c:107,3'
          Dst:             lws_system_do_attach
        - Src:             'lib/core-net/sorted-usec-list.c:112,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/sorted-usec-list.c:133,12'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/sorted-usec-list.c:150,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/sorted-usec-list.c:155,3'
          Dst:             lws_dll2_remove
    - functionName:    lws_wsi_mux_apply_queue
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1595
      functionLinenumberEnd: 1637
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          117
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log_cx
        - lws_dll2_remove
        - lws_log_prepend_wsi
        - lws_wsi_h2_adopt
        - lwsi_set_state
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1608,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1608,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1608,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1610,4'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/wsi.c:1613,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi.c:1616,4'
          Dst:             lws_wsi_h2_adopt
    - functionName:    lwsl_wsi_get_cx
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1007
      functionLinenumberEnd: 1012
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    273
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_log_prepend_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          38
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_snprintf
        - lws_wsi_tag
      functionUses:    273
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:53,63'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:53,8'
          Dst:             lws_snprintf
    - functionName:    lwsi_set_state
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    61
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:45,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:45,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:45,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_wsi_tag
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 27
      functionLinenumberEnd: 31
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_lc_tag
      functionUses:    122
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:30,9'
          Dst:             lws_lc_tag
    - functionName:    lws_wsi_txc_report_manual_txcr_in
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1580
      functionLinenumberEnd: 1591
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - user_callback_handle_rxflow
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1588,9'
          Dst:             user_callback_handle_rxflow
    - functionName:    user_callback_handle_rxflow
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 465
      functionLinenumberEnd: 474
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          62
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __lws_rx_flow_control
      functionUses:    24
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:472,7'
          Dst:             __lws_rx_flow_control
    - functionName:    __lws_rx_flow_control
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 477
      functionLinenumberEnd: 524
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         29
      ICount:          189
      EdgeCount:       39
      CyclomaticComplexity: 12
      functionsReached:
        - __lws_change_pollfd
        - __lws_rx_flow_control
        - _lws_log_cx
        - lws_buflist_next_segment_len
        - lws_callback_on_writable
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:488,4'
          Dst:             __lws_rx_flow_control
        - Src:             'lib/core-net/wsi.c:498,6'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/core-net/wsi.c:500,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/wsi.c:508,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:508,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:508,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:514,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:514,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:514,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:516,7'
          Dst:             __lws_change_pollfd
        - Src:             'lib/core-net/wsi.c:517,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:517,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:517,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:520,13'
          Dst:             __lws_change_pollfd
    - functionName:    lws_wsi_tx_credit
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1567
      functionLinenumberEnd: 1573
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          94
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_wsi_txc_describe
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1560
      functionLinenumberEnd: 1564
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          35
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_log
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1561,2'
          Dst:             _lws_log
    - functionName:    lws_wsi_txc_check_skint
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1534
      functionLinenumberEnd: 1556
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          71
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1543,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/wsi.c:1551,3'
          Dst:             _lws_log
    - functionName:    lws_wsi_mux_action_pending_writeable_reqs
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1516
      functionLinenumberEnd: 1532
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          70
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - lws_change_pollfd
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1521,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/wsi.c:1528,6'
          Dst:             lws_change_pollfd
    - functionName:    lws_wsi_mux_move_child_to_tail
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1481
      functionLinenumberEnd: 1513
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          101
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lws_wsi_tag
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1486,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1486,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1486,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1486,4'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_wsi_mux_mark_parents_needing_writeable
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1465
      functionLinenumberEnd: 1478
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1474,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1474,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1474,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_wsi_mux_dump_waiting_children
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1448
      functionLinenumberEnd: 1463
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          81
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lws_wsi_tag
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1450,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1450,2'
          Dst:             _lws_log
        - Src:             'lib/core-net/wsi.c:1455,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1455,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1455,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_wsi_mux_sibling_disconnect
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1428
      functionLinenumberEnd: 1446
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          110
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lws_wsi_tag
        - lwsl_wsi_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1438,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1438,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1438,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1438,4'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_wsi_mux_close_children
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1407
      functionLinenumberEnd: 1426
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          86
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - __lws_close_free_wsi
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1416,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1416,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1416,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1419,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1422,3'
          Dst:             __lws_close_free_wsi
    - functionName:    lws_wsi_mux_dump_children
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1393
      functionLinenumberEnd: 1405
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          125
      EdgeCount:       30
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lws_wsi_tag
        - lwsl_visible
        - lwsl_wsi_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1395,31'
          Dst:             lwsl_visible
        - Src:             'lib/core-net/wsi.c:1399,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1399,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1399,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1399,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1401,3'
          Dst:             __assert_fail
    - functionName:    lws_wsi_mux_from_id
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1383
      functionLinenumberEnd: 1391
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          73
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_wsi_mux_insert
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1363
      functionLinenumberEnd: 1381
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          91
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lws_wsi_tag
        - lwsl_wsi_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1364,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1364,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1364,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1364,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1368,3'
          Dst:             __assert_fail
    - functionName:    lws_wsi_client_stash_item
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1325
      functionLinenumberEnd: 1336
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_hdr_simple_ptr
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1332,9'
          Dst:             lws_hdr_simple_ptr
    - functionName:    lws_http_mark_sse
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1309
      functionLinenumberEnd: 1320
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_http_headers_detach
        - lws_mux_mark_immortal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1313,2'
          Dst:             lws_http_headers_detach
        - Src:             'lib/core-net/wsi.c:1314,2'
          Dst:             lws_mux_mark_immortal
    - functionName:    lws_mux_mark_immortal
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1277
      functionLinenumberEnd: 1307
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          120
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_get_network_wsi
        - lws_log_prepend_wsi
        - lws_set_timeout
        - lws_wsi_tag
        - lwsl_wsi_get_cx
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1280,2'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/wsi.c:1295,9'
          Dst:             lws_get_network_wsi
        - Src:             'lib/core-net/wsi.c:1299,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1299,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1299,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1299,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1303,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1306,3'
          Dst:             lws_set_timeout
    - functionName:    lws_get_network_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          70
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    37
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_wsi_keepalive_timeout_eff
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1339
      functionLinenumberEnd: 1357
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          82
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_http_close_immortal
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1254
      functionLinenumberEnd: 1275
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          96
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_get_network_wsi
        - lws_log_prepend_wsi
        - lws_set_timeout
        - lws_wsi_keepalive_timeout_eff
        - lws_wsi_tag
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1260,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1263,9'
          Dst:             lws_get_network_wsi
        - Src:             'lib/core-net/wsi.c:1264,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1264,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1264,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1264,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1266,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1274,5'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/core-net/wsi.c:1273,3'
          Dst:             lws_set_timeout
    - functionName:    lws_bind_protocol
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1200
      functionLinenumberEnd: 1252
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          327
      EdgeCount:       53
      CyclomaticComplexity: 15
      functionsReached:
        - _lws_log
        - lws_ensure_user_space
        - lws_realloc
        - lws_same_vh_protocol_insert
        - lws_same_vh_protocol_remove
        - strcmp
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1212,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/wsi.c:1214,2'
          Dst:             lws_same_vh_protocol_remove
        - Src:             'lib/core-net/wsi.c:1220,6'
          Dst:             lws_ensure_user_space
        - Src:             'lib/core-net/wsi.c:1224,3'
          Dst:             lws_same_vh_protocol_insert
        - Src:             'lib/core-net/wsi.c:1232,32'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:1234,5'
          Dst:             lws_same_vh_protocol_insert
        - Src:             'lib/core-net/wsi.c:1240,4'
          Dst:             _lws_log
    - functionName:    lws_ensure_user_space
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 530
      functionLinenumberEnd: 555
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          114
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lws_zalloc
        - lwsl_wsi_get_cx
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:544,22'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/wsi.c:546,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:546,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:546,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:551,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:551,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:551,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_raw_transaction_completed
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1178
      functionLinenumberEnd: 1197
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log_cx
        - lws_callback_on_writable
        - lws_has_buffered_out
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1179,6'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/wsi.c:1189,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1189,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1189,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1191,3'
          Dst:             lws_callback_on_writable
    - functionName:    lws_has_buffered_out
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 582
      functionLinenumberEnd: 596
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          44
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - lws_get_network_wsi
      functionUses:    22
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:588,22'
          Dst:             lws_get_network_wsi
    - functionName:    _lws_generic_transaction_completed_active_conn
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1016
      functionLinenumberEnd: 1175
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         42
      ICount:          327
      EdgeCount:       52
      CyclomaticComplexity: 12
      functionsReached:
        - __assert_fail
        - __insert_wsi_socket_into_fds
        - __lws_change_pollfd
        - __lws_wsi_remove_from_sul
        - __remove_wsi_socket_from_fds
        - _lws_log_cx
        - lws_dll2_add_tail
        - lws_dll2_is_detached
        - lws_dll2_remove
        - lws_log_prepend_wsi
        - lws_set_timeout
        - lws_wsi_tag
        - lwsi_set_state
        - lwsl_wsi_get_cx
        - sanity_assert_no_sockfd_traces
        - sanity_assert_no_wsi_traces
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1026,6'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/wsi.c:1049,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1049,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1049,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1050,3'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/wsi.c:1052,3'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/wsi.c:1068,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1070,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi.c:1072,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1074,2'
          Dst:             __lws_change_pollfd
        - Src:             'lib/core-net/wsi.c:1079,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1083,6'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/wsi.c:1086,2'
          Dst:             sanity_assert_no_wsi_traces
        - Src:             'lib/core-net/wsi.c:1087,2'
          Dst:             sanity_assert_no_sockfd_traces
        - Src:             'lib/core-net/wsi.c:1090,2'
          Dst:             __lws_wsi_remove_from_sul
        - Src:             'lib/core-net/wsi.c:1108,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1110,6'
          Dst:             __insert_wsi_socket_into_fds
        - Src:             'lib/core-net/wsi.c:1140,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi.c:1141,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/wsi.c:1150,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi.c:1151,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/wsi.c:1165,2'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/wsi.c:1170,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1170,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1170,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1170,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_get_context
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1003
      functionLinenumberEnd: 1004
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_udp
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1000
      functionLinenumberEnd: 1000
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_protocol_get
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 995
      functionLinenumberEnd: 996
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 993
      functionLinenumberEnd: 993
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_vhost_get
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 991
      functionLinenumberEnd: 991
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_socket_fd
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 985
      functionLinenumberEnd: 989
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_vhost_iface
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 981
      functionLinenumberEnd: 982
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_vhost_user
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 979
      functionLinenumberEnd: 979
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_vhost_port
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 977
      functionLinenumberEnd: 977
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_vhost_name
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 975
      functionLinenumberEnd: 975
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_clear_child_pending_on_writable
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 971
      functionLinenumberEnd: 973
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_child_pending_on_writable
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 967
      functionLinenumberEnd: 968
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_set_opaque_user_data
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 963
      functionLinenumberEnd: 965
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_opaque_user_data
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 959
      functionLinenumberEnd: 960
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_set_opaque_parent_data
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 955
      functionLinenumberEnd: 957
      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:    lws_get_opaque_parent_data
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 951
      functionLinenumberEnd: 952
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_child
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 949
      functionLinenumberEnd: 949
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_parent
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 947
      functionLinenumberEnd: 947
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_set_wsi_user
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 939
      functionLinenumberEnd: 945
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          55
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - lws_realloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:941,3'
          Dst:             lws_realloc
    - functionName:    lws_wsi_tsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 937
      functionLinenumberEnd: 937
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_wsi_user
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 935
      functionLinenumberEnd: 935
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_broadcast
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 905
      functionLinenumberEnd: 932
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          124
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_pmo_get_str
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 896
      functionLinenumberEnd: 901
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_pvo_get_str
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:900,9'
          Dst:             lws_pvo_get_str
    - functionName:    lws_pvo_get_str
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 872
      functionLinenumberEnd: 882
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_pvo_search
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:874,3'
          Dst:             lws_pvo_search
    - functionName:    lws_pvo_search
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 860
      functionLinenumberEnd: 868
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          43
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:862,8'
          Dst:             strcmp
    - functionName:    lws_pmo_search
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 886
      functionLinenumberEnd: 891
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_pvo_search
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:890,9'
          Dst:             lws_pvo_search
    - functionName:    lws_is_cgi
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 850
      functionLinenumberEnd: 854
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_set_extension_option
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 845
      functionLinenumberEnd: 846
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_extension_callback_pm_deflate
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 832
      functionLinenumberEnd: 841
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          25
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_urlarg_by_name
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 816
      functionLinenumberEnd: 819
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_get_urlarg_by_name_safe
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:817,10'
          Dst:             lws_get_urlarg_by_name_safe
    - functionName:    lws_get_urlarg_by_name_safe
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 784
      functionLinenumberEnd: 813
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          163
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - lws_hdr_copy_fragment
        - strlen
        - strncmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:785,32'
          Dst:             strlen
        - Src:             'lib/core-net/wsi.c:788,13'
          Dst:             lws_hdr_copy_fragment
        - Src:             'lib/core-net/wsi.c:794,44'
          Dst:             strncmp
    - functionName:    lws_parse_uri_destroy
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 774
      functionLinenumberEnd: 779
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_realloc
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:776,3'
          Dst:             lws_realloc
    - functionName:    lws_parse_uri_create
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 679
      functionLinenumberEnd: 770
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         87
      ICount:          576
      EdgeCount:       116
      CyclomaticComplexity: 31
      functionsReached:
        - atoi
        - lws_strncpy
        - lws_zalloc
        - strcmp
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:681,17'
          Dst:             strlen
        - Src:             'lib/core-net/wsi.c:687,6'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/wsi.c:702,3'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/wsi.c:714,8'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:714,38'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:716,13'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:716,44'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:727,4'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/wsi.c:732,4'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/wsi.c:739,3'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/wsi.c:745,23'
          Dst:             atoi
        - Src:             'lib/core-net/wsi.c:758,5'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/wsi.c:760,5'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/wsi.c:764,4'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/wsi.c:767,3'
          Dst:             lws_strncpy
    - functionName:    lws_parse_uri
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 626
      functionLinenumberEnd: 674
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         70
      ICount:          369
      EdgeCount:       93
      CyclomaticComplexity: 25
      functionsReached:
        - atoi
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:646,7'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:646,33'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:648,12'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:648,39'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:663,11'
          Dst:             atoi
    - functionName:    lws_get_peer_write_allowance
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 600
      functionLinenumberEnd: 606
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          80
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_partial_buffered
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 598
      functionLinenumberEnd: 598
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_has_buffered_out
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:598,52'
          Dst:             lws_has_buffered_out
    - functionName:    lws_get_ssl
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 579
      functionLinenumberEnd: 579
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_is_ssl
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 569
      functionLinenumberEnd: 571
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_tsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 567
      functionLinenumberEnd: 567
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_adjust_protocol_psds
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 557
      functionLinenumberEnd: 565
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_ensure_user_space
        - lws_get_protocol
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:558,27'
          Dst:             lws_get_protocol
        - Src:             'lib/core-net/wsi.c:561,6'
          Dst:             lws_ensure_user_space
    - functionName:    lws_get_protocol
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 526
      functionLinenumberEnd: 527
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_rx_flow_allow_all_protocol
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 444
      functionLinenumberEnd: 460
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          125
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - lws_rx_flow_control
        - strcmp
        - wsi_from_fd
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:451,10'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/wsi.c:455,7'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:456,5'
          Dst:             lws_rx_flow_control
    - functionName:    lws_rx_flow_control
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 391
      functionLinenumberEnd: 441
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         28
      ICount:          227
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - __lws_rx_flow_control
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:400,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:400,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:400,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:426,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:426,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:426,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:431,8'
          Dst:             __lws_rx_flow_control
    - functionName:    lws_callback_vhost_protocols_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 367
      functionLinenumberEnd: 389
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          103
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - lws_realloc
        - lws_vhost_bind_wsi
        - lws_zalloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:369,20'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/wsi.c:375,2'
          Dst:             lws_vhost_bind_wsi
        - Src:             'lib/core-net/wsi.c:381,4'
          Dst:             lws_realloc
        - Src:             'lib/core-net/wsi.c:386,2'
          Dst:             lws_realloc
    - functionName:    lws_vhost_bind_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          110
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:73,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:73,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:73,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:77,2'
          Dst:             __assert_fail
    - functionName:    lws_wsi_extract_from_loop
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 350
      functionLinenumberEnd: 364
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          108
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - __remove_wsi_socket_from_fds
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:352,3'
          Dst:             __remove_wsi_socket_from_fds
    - functionName:    lws_wsi_inject_to_loop
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 324
      functionLinenumberEnd: 342
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          75
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - __insert_wsi_socket_into_fds
        - lws_dll2_remove
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:333,6'
          Dst:             __insert_wsi_socket_into_fds
        - Src:             'lib/core-net/wsi.c:336,2'
          Dst:             lws_dll2_remove
    - functionName:    lws_role_transition
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 610
      functionLinenumberEnd: 623
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          70
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    21
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:620,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:620,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:620,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    __lws_wsi_create_with_role
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 267
      functionLinenumberEnd: 322
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          129
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_dll2_add_head
        - lws_log_prepend_context
        - lws_role_transition
        - lws_zalloc
        - lwsl_context_get_cx
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:272,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:280,8'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/wsi.c:283,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/wsi.c:283,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:283,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/wsi.c:296,2'
          Dst:             lws_role_transition
        - Src:             'lib/core-net/wsi.c:318,2'
          Dst:             lws_dll2_add_head
    - functionName:    lws_callback_vhost_protocols
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 226
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          73
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_callback_all_protocol_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 212
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_callback_all_protocol_vhost_args
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:213,9'
          Dst:             lws_callback_all_protocol_vhost_args
    - functionName:    lws_callback_all_protocol_vhost_args
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          168
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - strcmp
        - wsi_from_fd
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:192,10'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/wsi.c:198,6'
          Dst:             strcmp
    - functionName:    lws_evlib_tsi_to_evlib_pt
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 176
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_evlib_wsi_to_evlib_pt
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          22
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_callback_all_protocol
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          136
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - strcmp
        - wsi_from_fd
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:156,10'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/wsi.c:160,7'
          Dst:             strcmp
    - functionName:    lws_vhost_name_to_protocol
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          82
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - strcmp
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:141,33'
          Dst:             strcmp
    - functionName:    __lws_vhost_unbind_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          93
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - __lws_vhost_destroy2
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:91,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:99,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:99,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:99,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:112,3'
          Dst:             __lws_vhost_destroy2
    - functionName:    lwsi_set_role
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 38
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          32
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:37,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:37,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:37,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_validity_confirmed
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 309
      functionLinenumberEnd: 319
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          83
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_validity_cb
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 225
      functionLinenumberEnd: 273
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          257
      EdgeCount:       33
      CyclomaticComplexity: 9
      functionsReached:
        - __assert_fail
        - __lws_close_free_wsi
        - __lws_sul_insert
        - _lws_log_cx
        - lws_get_peer_simple
        - lws_log_prepend_wsi
        - lws_now_usecs
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:235,3'
          Dst:             lws_get_peer_simple
        - Src:             'lib/core-net/wsi-timeout.c:237,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:237,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:237,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:245,3'
          Dst:             __lws_close_free_wsi
        - Src:             'lib/core-net/wsi-timeout.c:254,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:254,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:254,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:266,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi-timeout.c:269,2'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/wsi-timeout.c:269,2'
          Dst:             __lws_sul_insert
    - functionName:    _lws_validity_confirmed_role
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 282
      functionLinenumberEnd: 305
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          169
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - __lws_sul_insert
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lws_now_usecs
        - lwsl_wsi_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:295,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:295,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:295,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:300,2'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/wsi-timeout.c:300,2'
          Dst:             __lws_sul_insert
    - functionName:    lws_set_timeout_us
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 202
      functionLinenumberEnd: 221
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          74
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __lws_sul_insert
        - _lws_log_cx
        - lws_dll2_remove
        - lws_log_prepend_wsi
        - lws_now_usecs
        - lwsl_wsi_get_cx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:206,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi-timeout.c:213,2'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/wsi-timeout.c:213,2'
          Dst:             __lws_sul_insert
        - Src:             'lib/core-net/wsi-timeout.c:216,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:216,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:216,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_set_timeout
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 198
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          161
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - __lws_set_timeout
        - _lws_log_cx
        - lws_close_free_wsi
        - lws_dll2_remove
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    61
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:165,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi-timeout.c:172,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:172,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:172,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:174,3'
          Dst:             lws_close_free_wsi
        - Src:             'lib/core-net/wsi-timeout.c:184,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:184,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:184,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:190,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:190,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:190,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:193,2'
          Dst:             __lws_set_timeout
    - functionName:    __lws_set_timeout
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          100
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - __lws_sul_insert
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lws_now_usecs
        - lwsl_wsi_get_cx
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:144,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:144,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:144,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:149,2'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/wsi-timeout.c:149,2'
          Dst:             __lws_sul_insert
        - Src:             'lib/core-net/wsi-timeout.c:153,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:153,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:153,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_sul_wsitimeout_cb
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          130
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - __lws_close_free_wsi
        - _lws_log_cx
        - lws_inform_client_conn_fail
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:98,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:98,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:98,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:123,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/wsi-timeout.c:126,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/wsi-timeout.c:132,2'
          Dst:             __lws_close_free_wsi
    - functionName:    lws_set_timer_usecs
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __lws_set_timer_usecs
        - lws_sul_cancel
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:78,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/wsi-timeout.c:80,3'
          Dst:             __lws_set_timer_usecs
    - functionName:    __lws_set_timer_usecs
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          45
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_sul_insert
        - lws_now_usecs
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:70,2'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/wsi-timeout.c:70,2'
          Dst:             __lws_sul_insert
    - functionName:    lws_sul_hrtimer_cb
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 62
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - __lws_close_free_wsi
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:60,3'
          Dst:             __lws_close_free_wsi
    - functionName:    __lws_wsi_remove_from_sul
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_sul_cancel
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:30,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/wsi-timeout.c:31,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/wsi-timeout.c:32,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/wsi-timeout.c:33,2'
          Dst:             lws_sul_cancel
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      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:    lws_adopt_socket_vhost_readbuf
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1039
      functionLinenumberEnd: 1041
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - adopt_socket_readbuf
        - lws_adopt_socket_vhost
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/adopt.c:1040,37'
          Dst:             lws_adopt_socket_vhost
        - Src:             'lib/core-net/adopt.c:1040,16'
          Dst:             adopt_socket_readbuf
    - functionName:    lws_adopt_socket_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 625
      functionLinenumberEnd: 629
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_adopt_descriptor_vhost
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/adopt.c:629,9'
          Dst:             lws_adopt_descriptor_vhost
    - functionName:    adopt_socket_readbuf
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 642
      functionLinenumberEnd: 703
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          175
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - _lws_log
        - lws_buflist_append_segment
        - lws_close_free_wsi
        - lws_dll2_add_head
        - lws_header_table_attach
        - lws_service_fd_tsi
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/adopt.c:658,6'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core-net/adopt.c:663,3'
          Dst:             lws_dll2_add_head
        - Src:             'lib/core-net/adopt.c:675,23'
          Dst:             lws_header_table_attach
        - Src:             'lib/core-net/adopt.c:677,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:687,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:688,7'
          Dst:             lws_service_fd_tsi
        - Src:             'lib/core-net/adopt.c:694,2'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:699,2'
          Dst:             lws_close_free_wsi
    - functionName:    lws_adopt_descriptor_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 516
      functionLinenumberEnd: 527
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          39
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_adopt_descriptor_vhost_via_info
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/adopt.c:527,9'
          Dst:             lws_adopt_descriptor_vhost_via_info
    - functionName:    lws_adopt_descriptor_vhost_via_info
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 532
      functionLinenumberEnd: 620
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          110
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - __lws_adopt_descriptor_vhost1
        - _lws_log
        - close
        - getpeername
        - lws_adopt_descriptor_vhost2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/adopt.c:563,12'
          Dst:             __lws_adopt_descriptor_vhost1
        - Src:             'lib/core-net/adopt.c:577,4'
          Dst:             close
        - Src:             'lib/core-net/adopt.c:586,6'
          Dst:             getpeername
        - Src:             'lib/core-net/adopt.c:588,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:607,12'
          Dst:             lws_adopt_descriptor_vhost2
    - functionName:    __lws_adopt_descriptor_vhost1
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          312
      EdgeCount:       55
      CyclomaticComplexity: 16
      functionsReached:
        - __lws_vhost_unbind_wsi
        - _lws_log_cx
        - lws_create_new_server_wsi
        - lws_dll2_add_head
        - lws_dll2_remove
        - lws_ensure_user_space
        - lws_log_prepend_vhost
        - lws_log_prepend_wsi
        - lws_realloc
        - lws_role_call_adoption_bind
        - lws_vhost_name_to_protocol
        - lwsl_vhost_get_cx
        - lwsl_wsi_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/adopt.c:145,12'
          Dst:             lws_create_new_server_wsi
        - Src:             'lib/core-net/adopt.c:170,25'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/core-net/adopt.c:173,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/adopt.c:173,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:173,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/adopt.c:177,7'
          Dst:             lws_ensure_user_space
        - Src:             'lib/core-net/adopt.c:178,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:178,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:178,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:187,6'
          Dst:             lws_role_call_adoption_bind
        - Src:             'lib/core-net/adopt.c:188,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:188,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:188,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:205,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/adopt.c:214,2'
          Dst:             lws_dll2_add_head
        - Src:             'lib/core-net/adopt.c:222,9'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/adopt.c:225,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:225,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:225,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:229,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/adopt.c:234,2'
          Dst:             __lws_vhost_unbind_wsi
        - Src:             'lib/core-net/adopt.c:236,2'
          Dst:             lws_realloc
    - functionName:    lws_adopt_descriptor_vhost2
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 366
      functionLinenumberEnd: 507
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          370
      EdgeCount:       61
      CyclomaticComplexity: 18
      functionsReached:
        - __insert_wsi_socket_into_fds
        - __lws_lc_tag_append
        - _lws_log_cx
        - lws_adopt_ss_server_accept
        - lws_cancel_service_pt
        - lws_close_free_wsi
        - lws_dll2_remove
        - lws_get_network_wsi
        - lws_log_prepend_wsi
        - lws_plat_set_nonblocking
        - lws_role_call_adoption_bind
        - lws_sa46_write_numeric_address
        - lws_server_socket_service_ssl
        - lwsl_wsi_get_cx
        - strncpy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/adopt.c:374,7'
          Dst:             lws_plat_set_nonblocking
        - Src:             'lib/core-net/adopt.c:375,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:375,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:375,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:382,7'
          Dst:             lws_plat_set_nonblocking
        - Src:             'lib/core-net/adopt.c:383,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:383,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:383,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:410,29'
          Dst:             lws_get_network_wsi
        - Src:             'lib/core-net/adopt.c:414,18'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/adopt.c:416,18'
          Dst:             strncpy
        - Src:             'lib/core-net/adopt.c:417,3'
          Dst:             __lws_lc_tag_append
        - Src:             'lib/core-net/adopt.c:431,7'
          Dst:             __insert_wsi_socket_into_fds
        - Src:             'lib/core-net/adopt.c:433,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:433,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:433,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:443,7'
          Dst:             lws_server_socket_service_ssl
        - Src:             'lib/core-net/adopt.c:444,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:444,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:444,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:460,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/adopt.c:473,2'
          Dst:             lws_role_call_adoption_bind
        - Src:             'lib/core-net/adopt.c:485,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:485,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:485,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:487,6'
          Dst:             lws_adopt_ss_server_accept
        - Src:             'lib/core-net/adopt.c:497,2'
          Dst:             lws_cancel_service_pt
        - Src:             'lib/core-net/adopt.c:503,3'
          Dst:             lws_close_free_wsi
    - functionName:    lws_adopt_ss_server_accept
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 261
      functionLinenumberEnd: 358
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          254
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log_cx
        - lws_dll2_add_tail
        - lws_log_prepend_wsi
        - lws_plat_set_socket_options_ip
        - lws_ss_create
        - lws_ss_destroy
        - lws_ss_event_helper
        - lwsl_wsi_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/adopt.c:289,6'
          Dst:             lws_ss_create
        - Src:             'lib/core-net/adopt.c:292,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:292,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:292,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:315,6'
          Dst:             lws_plat_set_socket_options_ip
        - Src:             'lib/core-net/adopt.c:325,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:325,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:325,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:332,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/adopt.c:339,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/core-net/adopt.c:341,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/core-net/adopt.c:355,2'
          Dst:             lws_ss_destroy
    - functionName:    lws_create_new_server_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          190
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - __lws_lc_tag
        - __lws_wsi_create_with_role
        - _lws_log_cx
        - lws_get_idlest_tsi
        - lws_log_prepend_vhost
        - lws_log_prepend_wsi
        - lws_vhost_bind_wsi
        - lwsi_set_state
        - lwsl_vhost_get_cx
        - lwsl_wsi_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/adopt.c:56,7'
          Dst:             lws_get_idlest_tsi
        - Src:             'lib/core-net/adopt.c:59,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/adopt.c:59,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:59,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/adopt.c:64,12'
          Dst:             __lws_wsi_create_with_role
        - Src:             'lib/core-net/adopt.c:68,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/adopt.c:68,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:68,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/adopt.c:74,2'
          Dst:             __lws_lc_tag
        - Src:             'lib/core-net/adopt.c:79,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:79,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:79,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:82,2'
          Dst:             lws_vhost_bind_wsi
        - Src:             'lib/core-net/adopt.c:88,2'
          Dst:             lwsi_set_state
    - functionName:    lws_get_idlest_tsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          102
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_context
        - lwsl_context_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/adopt.c:35,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/adopt.c:35,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:35,3'
          Dst:             lws_log_prepend_context
    - functionName:    lws_adopt_socket_readbuf
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1030
      functionLinenumberEnd: 1032
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - adopt_socket_readbuf
        - lws_adopt_socket
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/adopt.c:1031,37'
          Dst:             lws_adopt_socket
        - Src:             'lib/core-net/adopt.c:1031,16'
          Dst:             adopt_socket_readbuf
    - functionName:    lws_adopt_socket
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 635
      functionLinenumberEnd: 636
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_adopt_socket_vhost
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/adopt.c:636,9'
          Dst:             lws_adopt_socket_vhost
    - functionName:    lws_create_adopt_udp2
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 716
      functionLinenumberEnd: 893
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         75
      ICount:          475
      EdgeCount:       100
      CyclomaticComplexity: 27
      functionsReached:
        - __assert_fail
        - __errno_location
        - _lws_log
        - bind
        - close
        - connect
        - freeaddrinfo
        - htons
        - lws_addrinfo_clean
        - lws_adopt_descriptor_vhost2
        - lws_dll2_add_tail
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_plat_BINDTODEVICE
        - lws_realloc
        - lws_sort_dns
        - lws_zalloc
        - setsockopt
        - socket
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/adopt.c:720,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/adopt.c:727,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:733,7'
          Dst:             lws_sort_dns
        - Src:             'lib/core-net/adopt.c:737,3'
          Dst:             freeaddrinfo
        - Src:             'lib/core-net/adopt.c:747,23'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/adopt.c:763,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/adopt.c:766,9'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/adopt.c:767,23'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/adopt.c:775,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/adopt.c:795,6'
          Dst:             htons
        - Src:             'lib/core-net/adopt.c:792,17'
          Dst:             socket
        - Src:             'lib/core-net/adopt.c:803,27'
          Dst:             htons
        - Src:             'lib/core-net/adopt.c:806,28'
          Dst:             htons
        - Src:             'lib/core-net/adopt.c:809,7'
          Dst:             setsockopt
        - Src:             'lib/core-net/adopt.c:811,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:814,7'
          Dst:             setsockopt
        - Src:             'lib/core-net/adopt.c:816,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:821,7'
          Dst:             lws_plat_BINDTODEVICE
        - Src:             'lib/core-net/adopt.c:825,7'
          Dst:             bind
        - Src:             'lib/core-net/adopt.c:831,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:837,8'
          Dst:             connect
        - Src:             'lib/core-net/adopt.c:839,8'
          Dst:             __errno_location
        - Src:             'lib/core-net/adopt.c:840,5'
          Dst:             __errno_location
        - Src:             'lib/core-net/adopt.c:840,5'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:845,5'
          Dst:             close
        - Src:             'lib/core-net/adopt.c:867,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/adopt.c:868,3'
          Dst:             lws_addrinfo_clean
        - Src:             'lib/core-net/adopt.c:869,10'
          Dst:             lws_adopt_descriptor_vhost2
        - Src:             'lib/core-net/adopt.c:873,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/adopt.c:876,2'
          Dst:             __errno_location
        - Src:             'lib/core-net/adopt.c:876,2'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:877,2'
          Dst:             lws_addrinfo_clean
    - 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:    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:    5
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_create_adopt_udp
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 900
      functionLinenumberEnd: 1023
      functionDepth:   0
      returnType:      'N/A'
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          206
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - __lws_adopt_descriptor_vhost1
        - _lws_log
        - _lws_log_cx
        - getaddrinfo
        - lws_close_free_wsi
        - lws_create_adopt_udp2
        - lws_log_prepend_context
        - lws_snprintf
        - lwsl_context_get_cx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/adopt.c:905,2'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:911,8'
          Dst:             __lws_adopt_descriptor_vhost1
        - Src:             'lib/core-net/adopt.c:918,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:950,3'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/adopt.c:951,7'
          Dst:             getaddrinfo
        - Src:             'lib/core-net/adopt.c:954,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/adopt.c:954,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:954,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/adopt.c:970,9'
          Dst:             lws_create_adopt_udp2
        - Src:             'lib/core-net/adopt.c:1015,2'
          Dst:             lws_close_free_wsi
    - 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:    rops_handle_POLLIN_pipe
      functionSourceFile: '/src/libwebsockets/lib/roles/pipe/ops-pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          60
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - _lws_log
        - eventfd_read
        - lws_broadcast
        - lws_dll2_foreach_safe
        - lws_ss_cancel_notify_dll
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/pipe/ops-pipe.c:38,6'
          Dst:             eventfd_read
        - Src:             'lib/roles/pipe/ops-pipe.c:40,3'
          Dst:             __errno_location
        - Src:             'lib/roles/pipe/ops-pipe.c:40,3'
          Dst:             _lws_log
        - Src:             'lib/roles/pipe/ops-pipe.c:182,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/roles/pipe/ops-pipe.c:182,2'
          Dst:             lws_ss_cancel_notify_dll
        - Src:             'lib/roles/pipe/ops-pipe.c:194,6'
          Dst:             lws_broadcast
        - Src:             'lib/roles/pipe/ops-pipe.c:195,3'
          Dst:             _lws_log
    - functionName:    eventfd_read
      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:    lws_async_ipc_timeout_cb
      functionSourceFile: '/src/libwebsockets/lib/core-net/async-ipc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          120
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log
        - lws_dll2_remove
        - lws_realloc
        - lws_set_timeout
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/async-ipc.c:55,2'
          Dst:             _lws_log
        - Src:             'lib/core-net/async-ipc.c:60,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/async-ipc.c:61,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/async-ipc.c:65,3'
          Dst:             lws_set_timeout
    - functionName:    lws_async_ipc_connect
      functionSourceFile: '/src/libwebsockets/lib/core-net/async-ipc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 236
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          126
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - lws_async_ipc_timeout_cb
        - lws_client_connect_via_info
        - lws_get_vhost_by_name
        - lws_sul_cancel
        - lws_sul_schedule
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/async-ipc.c:217,21'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/core-net/async-ipc.c:226,2'
          Dst:             lws_sul_schedule
        - Src:             'lib/core-net/async-ipc.c:226,2'
          Dst:             lws_async_ipc_timeout_cb
        - Src:             'lib/core-net/async-ipc.c:228,13'
          Dst:             lws_client_connect_via_info
        - Src:             'lib/core-net/async-ipc.c:231,3'
          Dst:             lws_sul_cancel
    - functionName:    lws_async_ipc_queue_payload
      functionSourceFile: '/src/libwebsockets/lib/core-net/async-ipc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 311
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          70
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_async_ipc_connect
        - lws_callback_on_writable
        - lws_dll2_add_tail
        - lws_realloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/async-ipc.c:295,34'
          Dst:             lws_realloc
        - Src:             'lib/core-net/async-ipc.c:303,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/async-ipc.c:306,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/async-ipc.c:308,3'
          Dst:             lws_async_ipc_connect
    - functionName:    lws_async_ipc_destroy
      functionSourceFile: '/src/libwebsockets/lib/core-net/async-ipc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 258
      functionLinenumberEnd: 289
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          128
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - lws_dll2_remove
        - lws_realloc
        - lws_set_timeout
        - lws_sul_cancel
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/async-ipc.c:264,3'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/async-ipc.c:268,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/async-ipc.c:272,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/async-ipc.c:273,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/async-ipc.c:287,2'
          Dst:             lws_realloc
    - functionName:    lws_async_ipc_create
      functionSourceFile: '/src/libwebsockets/lib/core-net/async-ipc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          101
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - lws_snprintf
        - lws_strncpy
        - lws_zalloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/async-ipc.c:241,30'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/async-ipc.c:247,3'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/async-ipc.c:249,3'
          Dst:             lws_strncpy
    - functionName:    callback_async_ipc
      functionSourceFile: '/src/libwebsockets/lib/core-net/async-ipc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 193
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         69
      ICount:          415
      EdgeCount:       85
      CyclomaticComplexity: 18
      functionsReached:
        - _lws_log
        - lws_async_ipc_timeout_cb
        - lws_callback_http_dummy
        - lws_callback_on_writable
        - lws_dll2_remove
        - lws_realloc
        - lws_sul_cancel
        - lws_sul_schedule
        - lws_write
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/core-net/async-ipc.c:97,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/async-ipc.c:99,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/async-ipc.c:103,4'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/async-ipc.c:108,5'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/async-ipc.c:109,5'
          Dst:             lws_realloc
        - Src:             'lib/core-net/async-ipc.c:121,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/async-ipc.c:124,4'
          Dst:             lws_sul_schedule
        - Src:             'lib/core-net/async-ipc.c:124,4'
          Dst:             lws_async_ipc_timeout_cb
        - Src:             'lib/core-net/async-ipc.c:125,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/async-ipc.c:138,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/async-ipc.c:143,19'
          Dst:             lws_realloc
        - Src:             'lib/core-net/async-ipc.c:146,13'
          Dst:             lws_write
        - Src:             'lib/core-net/async-ipc.c:147,5'
          Dst:             lws_realloc
        - Src:             'lib/core-net/async-ipc.c:150,6'
          Dst:             _lws_log
        - Src:             'lib/core-net/async-ipc.c:154,5'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/async-ipc.c:155,5'
          Dst:             lws_realloc
        - Src:             'lib/core-net/async-ipc.c:158,5'
          Dst:             lws_sul_schedule
        - Src:             'lib/core-net/async-ipc.c:158,5'
          Dst:             lws_async_ipc_timeout_cb
        - Src:             'lib/core-net/async-ipc.c:162,5'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/async-ipc.c:168,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/async-ipc.c:171,4'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/async-ipc.c:184,4'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/async-ipc.c:192,9'
          Dst:             lws_callback_http_dummy
    - functionName:    _report
      functionSourceFile: '/src/libwebsockets/lib/core-net/state.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          88
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log_cx
        - _systnm
        - lws_log_prepend_context
        - lwsl_context_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/state.c:77,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/state.c:77,4'
          Dst:             _systnm
        - Src:             'lib/core-net/state.c:77,4'
          Dst:             _systnm
        - Src:             'lib/core-net/state.c:77,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/state.c:77,4'
          Dst:             lws_log_prepend_context
    - functionName:    _systnm
      functionSourceFile: '/src/libwebsockets/lib/core-net/state.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_snprintf
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/state.c:54,3'
          Dst:             lws_snprintf
    - functionName:    lws_state_transition
      functionSourceFile: '/src/libwebsockets/lib/core-net/state.c'
      linkageType:     InternalLinkage
      functionLinenumber: 148
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_state_transition
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/state.c:150,3'
          Dst:             _lws_state_transition
    - functionName:    _lws_state_transition
      functionSourceFile: '/src/libwebsockets/lib/core-net/state.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          117
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log_cx
        - _report
        - _systnm
        - lws_log_prepend_context
        - lws_smd_msg_printf
        - lwsl_context_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/state.c:98,6'
          Dst:             _report
        - Src:             'lib/core-net/state.c:103,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/state.c:103,2'
          Dst:             _systnm
        - Src:             'lib/core-net/state.c:103,2'
          Dst:             _systnm
        - Src:             'lib/core-net/state.c:103,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/state.c:103,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/state.c:111,2'
          Dst:             _report
        - Src:             'lib/core-net/state.c:115,9'
          Dst:             lws_smd_msg_printf
    - functionName:    lws_state_transition_steps
      functionSourceFile: '/src/libwebsockets/lib/core-net/state.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          92
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log_cx
        - _lws_state_transition
        - _systnm
        - lws_log_prepend_context
        - lwsl_context_get_cx
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/state.c:136,7'
          Dst:             _lws_state_transition
        - Src:             'lib/core-net/state.c:139,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/state.c:139,2'
          Dst:             _systnm
        - Src:             'lib/core-net/state.c:139,2'
          Dst:             _systnm
        - Src:             'lib/core-net/state.c:139,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/state.c:139,2'
          Dst:             lws_log_prepend_context
    - functionName:    lws_state_reg_notifier_list
      functionSourceFile: '/src/libwebsockets/lib/core-net/state.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          41
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_state_reg_notifier
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/state.c:46,4'
          Dst:             lws_state_reg_notifier
    - functionName:    lws_state_reg_notifier
      functionSourceFile: '/src/libwebsockets/lib/core-net/state.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 32
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_add_head
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/state.c:31,2'
          Dst:             lws_dll2_add_head
    - functionName:    lws_state_reg_deregister
      functionSourceFile: '/src/libwebsockets/lib/core-net/state.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 38
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_remove
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/state.c:37,2'
          Dst:             lws_dll2_remove
    - functionName:    lws_set_proxy
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          243
      EdgeCount:       44
      CyclomaticComplexity: 13
      functionsReached:
        - _lws_log_cx
        - atoi
        - lws_b64_encode_string
        - lws_log_prepend_vhost
        - lws_strncpy
        - lwsl_vhost_get_cx
        - strchr
        - strncmp
        - strrchr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/client.c:40,7'
          Dst:             strncmp
        - Src:             'lib/core-net/client/client.c:43,14'
          Dst:             strrchr
        - Src:             'lib/core-net/client/client.c:49,3'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/client/client.c:51,7'
          Dst:             lws_b64_encode_string
        - Src:             'lib/core-net/client/client.c:56,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/client/client.c:56,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/client.c:56,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/client/client.c:80,2'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/client/client.c:91,17'
          Dst:             strchr
        - Src:             'lib/core-net/client/client.c:93,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/client/client.c:93,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/client.c:93,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/client/client.c:101,14'
          Dst:             strchr
        - Src:             'lib/core-net/client/client.c:103,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/client/client.c:103,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/client.c:103,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/client/client.c:108,47'
          Dst:             atoi
        - Src:             'lib/core-net/client/client.c:111,2'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/client/client.c:111,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/client.c:111,2'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/client/client.c:118,2'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/client/client.c:118,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/client.c:118,2'
          Dst:             lws_log_prepend_vhost
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_client_connect_via_info
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 586
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         144
      ICount:          1253
      EdgeCount:       191
      CyclomaticComplexity: 49
      functionsReached:
        - __assert_fail
        - __lws_lc_tag
        - __lws_wsi_create_with_role
        - _lws_log_cx
        - lws_bind_protocol
        - lws_client_create_tls
        - lws_client_stash_create
        - lws_close_free_wsi
        - lws_dll2_remove
        - lws_get_vhost_by_name
        - lws_http_client_connect_via_info2
        - lws_log_prepend_context
        - lws_log_prepend_wsi
        - lws_protocol_init
        - lws_pthread_self_to_tsi
        - lws_realloc
        - lws_role_call_client_bind
        - lws_snprintf
        - lws_ss_tag
        - lws_strncpy
        - lws_tls_restrict_return
        - lws_vhost_bind_wsi
        - lws_vhost_name_to_protocol
        - lws_wsi_tag
        - lwsl_context_get_cx
        - lwsl_wsi_get_cx
        - strcmp
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/core-net/client/connect.c:530,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/client/connect.c:143,7'
          Dst:             lws_protocol_init
        - Src:             'lib/core-net/client/connect.c:158,8'
          Dst:             lws_pthread_self_to_tsi
        - Src:             'lib/core-net/client/connect.c:159,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/client/connect.c:163,8'
          Dst:             __lws_wsi_create_with_role
        - Src:             'lib/core-net/client/connect.c:174,9'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/core-net/client/connect.c:180,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/client/connect.c:180,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:180,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/client/connect.c:183,10'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:251,2'
          Dst:             lws_vhost_bind_wsi
        - Src:             'lib/core-net/client/connect.c:259,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:259,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:259,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:271,6'
          Dst:             lws_role_call_client_bind
        - Src:             'lib/core-net/client/connect.c:272,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:272,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:272,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:276,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:276,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:276,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:312,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:312,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:312,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:314,7'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/core-net/client/connect.c:316,4'
          Dst:             lws_bind_protocol
        - Src:             'lib/core-net/client/connect.c:318,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:318,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:318,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:320,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:320,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/client/connect.c:320,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:320,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:362,2'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect.c:382,6'
          Dst:             lws_client_stash_create
        - Src:             'lib/core-net/client/connect.c:387,3'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/client/connect.c:421,4'
          Dst:             lws_ss_tag
        - Src:             'lib/core-net/client/connect.c:401,3'
          Dst:             __lws_lc_tag
        - Src:             'lib/core-net/client/connect.c:424,3'
          Dst:             __lws_lc_tag
        - Src:             'lib/core-net/client/connect.c:438,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:438,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/client/connect.c:438,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:438,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:487,8'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:488,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:488,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:488,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:503,21'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:504,7'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:517,7'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:530,12'
          Dst:             lws_client_create_tls
        - Src:             'lib/core-net/client/connect.c:544,9'
          Dst:             lws_http_client_connect_via_info2
        - Src:             'lib/core-net/client/connect.c:558,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:558,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:558,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:559,2'
          Dst:             lws_close_free_wsi
        - Src:             'lib/core-net/client/connect.c:568,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/client/connect.c:572,3'
          Dst:             lws_tls_restrict_return
        - Src:             'lib/core-net/client/connect.c:575,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/client/connect.c:577,2'
          Dst:             lws_realloc
    - functionName:    lws_client_stash_create
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 126
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          198
      EdgeCount:       38
      CyclomaticComplexity: 10
      functionsReached:
        - lws_realloc
        - strlen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/connect.c:100,12'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect.c:103,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/client/connect.c:105,15'
          Dst:             lws_realloc
        - Src:             'lib/core-net/client/connect.c:120,9'
          Dst:             strlen
    - functionName:    lws_http_client_connect_via_info2
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         31
      ICount:          176
      EdgeCount:       40
      CyclomaticComplexity: 11
      functionsReached:
        - _lws_log_cx
        - lws_client_connect_2_dnsreq_MAY_CLOSE_WSI
        - lws_hdr_simple_create
        - lws_log_prepend_wsi
        - lws_realloc
        - lwsl_wsi_get_cx
        - strcmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/connect.c:44,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:44,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:44,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:51,34'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:52,12'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:53,12'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:63,7'
          Dst:             lws_hdr_simple_create
        - Src:             'lib/core-net/client/connect.c:72,9'
          Dst:             lws_client_connect_2_dnsreq_MAY_CLOSE_WSI
        - Src:             'lib/core-net/client/connect.c:80,2'
          Dst:             lws_realloc
    - functionName:    lws_getaddrinfo46
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          126
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log_cx
        - getaddrinfo
        - lws_log_prepend_wsi
        - lws_now_usecs
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/connect2.c:65,22'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/client/connect2.c:72,7'
          Dst:             getaddrinfo
        - Src:             'lib/core-net/client/connect2.c:76,7'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/client/connect2.c:115,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect2.c:115,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect2.c:115,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_client_connect_2_dnsreq_MAY_CLOSE_WSI
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 395
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         90
      ICount:          599
      EdgeCount:       121
      CyclomaticComplexity: 33
      functionsReached:
        - _lws_is_http_method
        - _lws_log
        - _lws_log_cx
        - inet_pton
        - lws_callback_on_writable
        - lws_client_connect_3_connect
        - lws_client_connect_4_established
        - lws_close_free_wsi
        - lws_dll2_add_head
        - lws_dll2_is_detached
        - lws_getaddrinfo46
        - lws_hdr_simple_ptr
        - lws_inform_client_conn_fail
        - lws_log_prepend_wsi
        - lws_strdup
        - lws_vhost_active_conns
        - lws_wsi_client_stash_item
        - lwsi_set_state
        - lwsl_wsi_get_cx
        - strcmp
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib/core-net/client/connect2.c:210,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/client/connect2.c:153,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect2.c:153,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect2.c:153,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect2.c:165,20'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/core-net/client/connect2.c:169,29'
          Dst:             lws_strdup
        - Src:             'lib/core-net/client/connect2.c:177,9'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/core-net/client/connect2.c:181,10'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/core-net/client/connect2.c:187,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect2.c:187,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect2.c:187,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect2.c:193,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/client/connect2.c:199,15'
          Dst:             _lws_is_http_method
        - Src:             'lib/core-net/client/connect2.c:199,44'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect2.c:200,3'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect2.c:200,26'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect2.c:210,10'
          Dst:             lws_vhost_active_conns
        - Src:             'lib/core-net/client/connect2.c:214,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect2.c:214,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect2.c:214,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect2.c:224,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/client/connect2.c:229,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect2.c:229,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect2.c:229,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect2.c:234,5'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect2.c:237,5'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect2.c:240,10'
          Dst:             lws_client_connect_4_established
        - Src:             'lib/core-net/client/connect2.c:253,16'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect2.c:253,39'
          Dst:             _lws_is_http_method
        - Src:             'lib/core-net/client/connect2.c:254,9'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect2.c:255,6'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/client/connect2.c:256,6'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/client/connect2.c:259,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect2.c:259,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect2.c:259,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect2.c:261,3'
          Dst:             lws_dll2_add_head
        - Src:             'lib/core-net/client/connect2.c:294,11'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/core-net/client/connect2.c:297,6'
          Dst:             inet_pton
        - Src:             'lib/core-net/client/connect2.c:298,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect2.c:298,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect2.c:298,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect2.c:338,2'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect2.c:340,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect2.c:340,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect2.c:340,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect2.c:349,7'
          Dst:             lws_getaddrinfo46
        - Src:             'lib/core-net/client/connect2.c:359,4'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/client/connect2.c:387,9'
          Dst:             lws_client_connect_3_connect
        - Src:             'lib/core-net/client/connect2.c:391,2'
          Dst:             lws_close_free_wsi
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      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:    lws_client_connect_check
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          94
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - _lws_log_cx
        - getsockopt
        - lws_errno_describe
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/connect3.c:117,7'
          Dst:             getsockopt
        - Src:             'lib/core-net/client/connect3.c:119,8'
          Dst:             __errno_location
        - Src:             'lib/core-net/client/connect3.c:121,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:121,4'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:121,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:121,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:127,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:127,3'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:127,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:127,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:168,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:168,2'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:168,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:168,2'
          Dst:             lws_log_prepend_wsi
    - 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:    lws_client_dns_retry_timeout
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - lws_client_connect_2_dnsreq_MAY_CLOSE_WSI
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/connect3.c:78,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:78,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:78,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:79,7'
          Dst:             lws_client_connect_2_dnsreq_MAY_CLOSE_WSI
        - Src:             'lib/core-net/client/connect3.c:80,3'
          Dst:             _lws_log
    - functionName:    lws_client_connect_3_connect
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 850
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         168
      ICount:          1382
      EdgeCount:       227
      CyclomaticComplexity: 61
      functionsReached:
        - __errno_location
        - __insert_wsi_socket_into_fds
        - __lws_free_wsi
        - __remove_wsi_socket_from_fds
        - _lws_log
        - _lws_log_cx
        - atoi
        - close
        - connect
        - freeaddrinfo
        - getsockname
        - htons
        - lws_addrinfo_clean
        - lws_change_pollfd
        - lws_client_conn_wait_timeout
        - lws_client_connect_4_established
        - lws_client_connect_check
        - lws_client_dns_retry_timeout
        - lws_close_free_wsi
        - lws_conmon_append_copy_new_dns_results
        - lws_dll2_get_head
        - lws_dll2_is_detached
        - lws_dll2_remove
        - lws_errno_describe
        - lws_inform_client_conn_fail
        - lws_log_prepend_wsi
        - lws_now_usecs
        - lws_plat_set_nonblocking
        - lws_plat_set_socket_options
        - lws_plat_set_socket_options_ip
        - lws_realloc
        - lws_sa46_write_numeric_address
        - lws_set_timeout
        - lws_snprintf
        - lws_socket_bind
        - lws_sort_dns
        - lws_sul_cancel
        - lws_sul_schedule
        - lws_wsi_client_stash_item
        - lwsi_set_state
        - lwsl_wsi_get_cx
        - sanity_assert_no_sockfd_traces
        - sanity_assert_no_wsi_traces
        - socket
        - strcmp
        - strlen
        - strncpy
        - user_callback_handle_rxflow
      functionUses:    5
      BranchProfiles:
        - Branch String:   'lib/core-net/client/connect3.c:282,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/client/connect3.c:211,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/client/connect3.c:215,3'
          Dst:             lws_conmon_append_copy_new_dns_results
        - Src:             'lib/core-net/client/connect3.c:218,3'
          Dst:             lws_sort_dns
        - Src:             'lib/core-net/client/connect3.c:222,3'
          Dst:             freeaddrinfo
        - Src:             'lib/core-net/client/connect3.c:237,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/client/connect3.c:244,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:244,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:244,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:251,3'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect3.c:252,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/core-net/client/connect3.c:252,3'
          Dst:             lws_client_dns_retry_timeout
        - Src:             'lib/core-net/client/connect3.c:282,11'
          Dst:             lws_client_connect_check
        - Src:             'lib/core-net/client/connect3.c:299,18'
          Dst:             __errno_location
        - Src:             'lib/core-net/client/connect3.c:301,10'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:300,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:304,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:304,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:304,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:316,3'
          Dst:             strncpy
        - Src:             'lib/core-net/client/connect3.c:319,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:319,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:319,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:358,6'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/client/connect3.c:361,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/client/connect3.c:369,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:369,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:369,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:372,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/client/connect3.c:374,2'
          Dst:             htons
        - Src:             'lib/core-net/client/connect3.c:374,2'
          Dst:             htons
        - Src:             'lib/core-net/client/connect3.c:400,23'
          Dst:             socket
        - Src:             'lib/core-net/client/connect3.c:408,23'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect3.c:407,23'
          Dst:             socket
        - Src:             'lib/core-net/client/connect3.c:416,9'
          Dst:             __errno_location
        - Src:             'lib/core-net/client/connect3.c:420,10'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:418,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:422,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:422,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:422,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:427,20'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect3.c:427,64'
          Dst:             lws_plat_set_socket_options
        - Src:             'lib/core-net/client/connect3.c:436,9'
          Dst:             __errno_location
        - Src:             'lib/core-net/client/connect3.c:440,10'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:438,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:442,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:442,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:442,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:447,20'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect3.c:451,8'
          Dst:             lws_plat_set_nonblocking
        - Src:             'lib/core-net/client/connect3.c:458,7'
          Dst:             lws_plat_set_socket_options_ip
        - Src:             'lib/core-net/client/connect3.c:460,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:460,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:460,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:462,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:462,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:462,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:463,3'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect3.c:467,5'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:470,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:470,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:470,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:475,7'
          Dst:             __insert_wsi_socket_into_fds
        - Src:             'lib/core-net/client/connect3.c:476,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:495,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/client/connect3.c:496,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:505,3'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/client/connect3.c:508,11'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/core-net/client/connect3.c:511,16'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/core-net/client/connect3.c:514,43'
          Dst:             atoi
        - Src:             'lib/core-net/client/connect3.c:516,24'
          Dst:             atoi
        - Src:             'lib/core-net/client/connect3.c:515,8'
          Dst:             lws_socket_bind
        - Src:             'lib/core-net/client/connect3.c:518,5'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:533,33'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect3.c:537,6'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect3.c:572,6'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/core-net/client/connect3.c:575,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:575,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:575,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:582,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/client/connect3.c:583,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:583,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:583,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:596,7'
          Dst:             connect
        - Src:             'lib/core-net/client/connect3.c:610,22'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/client/connect3.c:622,20'
          Dst:             __errno_location
        - Src:             'lib/core-net/client/connect3.c:630,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:630,3'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:630,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:630,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:649,7'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/client/connect3.c:661,4'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/client/connect3.c:666,10'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:664,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:671,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:671,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:671,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:676,11'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:674,5'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:678,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:678,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:678,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:700,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/core-net/client/connect3.c:700,3'
          Dst:             lws_client_conn_wait_timeout
        - Src:             'lib/core-net/client/connect3.c:720,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/client/connect3.c:735,7'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/client/connect3.c:744,7'
          Dst:             getsockname
        - Src:             'lib/core-net/client/connect3.c:747,9'
          Dst:             __errno_location
        - Src:             'lib/core-net/client/connect3.c:748,4'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:748,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/client/connect3.c:756,4'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/client/connect3.c:758,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:758,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:758,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:762,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/client/connect3.c:768,2'
          Dst:             lws_addrinfo_clean
        - Src:             'lib/core-net/client/connect3.c:774,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:774,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:774,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:776,9'
          Dst:             lws_client_connect_4_established
        - Src:             'lib/core-net/client/connect3.c:786,48'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect3.c:786,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/client/connect3.c:807,3'
          Dst:             __lws_free_wsi
        - Src:             'lib/core-net/client/connect3.c:810,3'
          Dst:             sanity_assert_no_wsi_traces
        - Src:             'lib/core-net/client/connect3.c:811,3'
          Dst:             sanity_assert_no_sockfd_traces
        - Src:             'lib/core-net/client/connect3.c:820,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:820,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:820,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:824,2'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/client/connect3.c:831,2'
          Dst:             close
        - Src:             'lib/core-net/client/connect3.c:835,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/client/connect3.c:839,6'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/client/connect3.c:842,2'
          Dst:             lws_addrinfo_clean
        - Src:             'lib/core-net/client/connect3.c:843,48'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect3.c:843,2'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/client/connect3.c:846,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/client/connect3.c:847,2'
          Dst:             lws_close_free_wsi
    - functionName:    lws_client_conn_wait_timeout
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_log_cx
        - lws_client_connect_3_connect
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/connect3.c:62,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:62,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:62,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:63,2'
          Dst:             lws_client_connect_3_connect
    - functionName:    lws_client_connect_4_established
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect4.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 350
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         73
      ICount:          609
      EdgeCount:       96
      CyclomaticComplexity: 25
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_callback_on_writable
        - lws_client_create_tls
        - lws_close_free_wsi
        - lws_dll2_is_detached
        - lws_hdr_simple_create
        - lws_inform_client_conn_fail
        - lws_log_prepend_wsi
        - lws_service_fd_tsi
        - lws_set_timeout
        - lws_snprintf
        - lws_wsi_client_stash_item
        - lwsi_set_state
        - lwsl_wsi_get_cx
        - send
        - strcmp
        - strlen
        - user_callback_handle_rxflow
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/core-net/client/connect4.c:201,5'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/client/connect4.c:39,9'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/core-net/client/connect4.c:42,16'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect4.c:43,9'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect4.c:44,9'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect4.c:45,9'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect4.c:59,9'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/core-net/client/connect4.c:64,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:64,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:64,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:66,10'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect4.c:74,12'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect4.c:79,11'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect4.c:91,8'
          Dst:             lws_hdr_simple_create
        - Src:             'lib/core-net/client/connect4.c:97,12'
          Dst:             send
        - Src:             'lib/core-net/client/connect4.c:101,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:101,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:101,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:106,3'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/client/connect4.c:110,3'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect4.c:137,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/client/connect4.c:146,3'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect4.c:158,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/client/connect4.c:160,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:160,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:160,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:163,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:163,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:163,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:177,5'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect4.c:200,14'
          Dst:             lws_client_create_tls
        - Src:             'lib/core-net/client/connect4.c:205,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:205,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:205,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:208,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:208,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:208,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:219,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:219,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:219,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:225,6'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect4.c:227,5'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/client/connect4.c:252,4'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/client/connect4.c:256,9'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/core-net/client/connect4.c:261,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:261,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:261,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:305,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:305,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:305,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:306,4'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect4.c:324,3'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/client/connect4.c:327,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/client/connect4.c:333,7'
          Dst:             lws_service_fd_tsi
        - Src:             'lib/core-net/client/connect4.c:345,48'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect4.c:345,2'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/client/connect4.c:347,2'
          Dst:             lws_close_free_wsi
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sort_dns_dcomp
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/sort-dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 388
      functionLinenumberEnd: 544
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         70
      ICount:          448
      EdgeCount:       98
      CyclomaticComplexity: 30
      functionsReached:
        - lws_ipv6_prefix_match_len
        - lws_ipv6_unicast_scope
        - lws_sort_dns_classify
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/sort-dns.c:408,11'
          Dst:             lws_ipv6_unicast_scope
        - Src:             'lib/core-net/client/sort-dns.c:409,11'
          Dst:             lws_ipv6_unicast_scope
        - Src:             'lib/core-net/client/sort-dns.c:410,15'
          Dst:             lws_ipv6_unicast_scope
        - Src:             'lib/core-net/client/sort-dns.c:411,15'
          Dst:             lws_ipv6_unicast_scope
        - Src:             'lib/core-net/client/sort-dns.c:473,2'
          Dst:             lws_sort_dns_classify
        - Src:             'lib/core-net/client/sort-dns.c:474,2'
          Dst:             lws_sort_dns_classify
        - Src:             'lib/core-net/client/sort-dns.c:503,7'
          Dst:             memcmp
        - Src:             'lib/core-net/client/sort-dns.c:503,38'
          Dst:             memcmp
        - Src:             'lib/core-net/client/sort-dns.c:506,6'
          Dst:             memcmp
        - Src:             'lib/core-net/client/sort-dns.c:506,38'
          Dst:             memcmp
        - Src:             'lib/core-net/client/sort-dns.c:530,9'
          Dst:             lws_ipv6_prefix_match_len
        - Src:             'lib/core-net/client/sort-dns.c:531,9'
          Dst:             lws_ipv6_prefix_match_len
    - functionName:    lws_ipv6_unicast_scope
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/sort-dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 146
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sort_dns_classify
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/sort-dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 167
      functionLinenumberEnd: 205
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          174
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - lws_4to6
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/sort-dns.c:178,3'
          Dst:             lws_4to6
    - functionName:    lws_ipv6_prefix_match_len
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/sort-dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          125
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sort_dns_scope
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/sort-dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          74
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - lws_ipv6_unicast_scope
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/sort-dns.c:162,9'
          Dst:             lws_ipv6_unicast_scope
    - functionName:    lws_sort_dns_dump
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/sort-dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 561
      functionLinenumberEnd: 584
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          100
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log_cx
        - lws_dll2_get_head
        - lws_log_prepend_wsi
        - lws_sa46_write_numeric_address
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/sort-dns.c:566,7'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/client/sort-dns.c:567,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/sort-dns.c:567,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/sort-dns.c:567,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/sort-dns.c:569,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/client/sort-dns.c:574,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/client/sort-dns.c:575,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/client/sort-dns.c:577,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/sort-dns.c:577,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/sort-dns.c:577,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      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:    lws_sort_dns_compare
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/sort-dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 548
      functionLinenumberEnd: 552
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_sort_dns_dcomp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/sort-dns.c:552,9'
          Dst:             lws_sort_dns_dcomp
    - functionName:    lws_sort_dns_scomp
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/sort-dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 232
      functionLinenumberEnd: 377
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         73
      ICount:          463
      EdgeCount:       99
      CyclomaticComplexity: 28
      functionsReached:
        - __assert_fail
        - _lws_route_est_outgoing
        - lws_ipv6_prefix_match_len
        - lws_sort_dns_classify
        - lws_sort_dns_scope
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/sort-dns.c:248,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/client/sort-dns.c:249,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/client/sort-dns.c:256,7'
          Dst:             memcmp
        - Src:             'lib/core-net/client/sort-dns.c:258,7'
          Dst:             memcmp
        - Src:             'lib/core-net/client/sort-dns.c:270,11'
          Dst:             lws_sort_dns_scope
        - Src:             'lib/core-net/client/sort-dns.c:271,11'
          Dst:             lws_sort_dns_scope
        - Src:             'lib/core-net/client/sort-dns.c:272,11'
          Dst:             lws_sort_dns_scope
        - Src:             'lib/core-net/client/sort-dns.c:324,7'
          Dst:             _lws_route_est_outgoing
        - Src:             'lib/core-net/client/sort-dns.c:339,2'
          Dst:             lws_sort_dns_classify
        - Src:             'lib/core-net/client/sort-dns.c:340,2'
          Dst:             lws_sort_dns_classify
        - Src:             'lib/core-net/client/sort-dns.c:341,2'
          Dst:             lws_sort_dns_classify
        - Src:             'lib/core-net/client/sort-dns.c:370,8'
          Dst:             lws_ipv6_prefix_match_len
        - Src:             'lib/core-net/client/sort-dns.c:371,8'
          Dst:             lws_ipv6_prefix_match_len
    - functionName:    lws_sort_dns
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/sort-dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 590
      functionLinenumberEnd: 774
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         55
      ICount:          383
      EdgeCount:       74
      CyclomaticComplexity: 21
      functionsReached:
        - _lws_log_cx
        - _lws_route_est_outgoing
        - lws_dll2_add_sorted
        - lws_dll2_add_tail
        - lws_dll2_get_head
        - lws_log_prepend_wsi
        - lws_realloc
        - lws_sa46_4to6
        - lws_sa46_write_numeric_address
        - lws_sort_dns_classify
        - lws_sort_dns_compare
        - lws_sort_dns_dump
        - lws_sort_dns_scomp
        - lws_zalloc
        - lwsl_wsi_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/sort-dns.c:596,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/sort-dns.c:596,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/sort-dns.c:596,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/sort-dns.c:625,8'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/client/sort-dns.c:632,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/client/sort-dns.c:634,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/sort-dns.c:634,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/sort-dns.c:634,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/sort-dns.c:647,11'
          Dst:             _lws_route_est_outgoing
        - Src:             'lib/core-net/client/sort-dns.c:649,5'
          Dst:             lws_realloc
        - Src:             'lib/core-net/client/sort-dns.c:650,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/sort-dns.c:650,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/sort-dns.c:650,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/sort-dns.c:696,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/sort-dns.c:696,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/sort-dns.c:696,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/sort-dns.c:698,4'
          Dst:             lws_sa46_4to6
        - Src:             'lib/core-net/client/sort-dns.c:703,3'
          Dst:             lws_sort_dns_classify
        - Src:             'lib/core-net/client/sort-dns.c:713,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/client/sort-dns.c:721,8'
          Dst:             lws_sort_dns_scomp
        - Src:             'lib/core-net/client/sort-dns.c:731,4'
          Dst:             lws_realloc
        - Src:             'lib/core-net/client/sort-dns.c:737,4'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/client/sort-dns.c:750,3'
          Dst:             lws_dll2_add_sorted
        - Src:             'lib/core-net/client/sort-dns.c:750,3'
          Dst:             lws_sort_dns_compare
        - Src:             'lib/core-net/client/sort-dns.c:770,2'
          Dst:             lws_sort_dns_dump
    - functionName:    lws_conmon_release
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/conmon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_conmon_addrinfo_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/conmon.c:153,2'
          Dst:             lws_conmon_addrinfo_destroy
    - functionName:    lws_conmon_addrinfo_destroy
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/conmon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/conmon.c:131,3'
          Dst:             lws_realloc
    - functionName:    lws_conmon_wsi_take
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/conmon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          27
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_conmon_append_copy_new_dns_results
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/conmon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         43
      ICount:          308
      EdgeCount:       58
      CyclomaticComplexity: 17
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lws_realloc
        - lwsl_wsi_get_cx
        - memcmp
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/conmon.c:75,10'
          Dst:             memcmp
        - Src:             'lib/core-net/client/conmon.c:97,6'
          Dst:             strlen
        - Src:             'lib/core-net/client/conmon.c:99,9'
          Dst:             lws_realloc
        - Src:             'lib/core-net/client/conmon.c:101,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/conmon.c:101,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/conmon.c:101,5'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_http_zap_header
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 802
      functionLinenumberEnd: 850
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          225
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - lws_http_string_to_known_header
        - lws_ser_ru16be
        - lws_ser_ru32be
        - lws_ser_wu32be
        - strlen
        - strncmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:803,15'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:809,10'
          Dst:             lws_http_string_to_known_header
        - Src:             'lib/roles/http/header.c:823,13'
          Dst:             lws_ser_ru16be
        - Src:             'lib/roles/http/header.c:825,9'
          Dst:             strncmp
        - Src:             'lib/roles/http/header.c:827,26'
          Dst:             lws_ser_ru32be
        - Src:             'lib/roles/http/header.c:833,6'
          Dst:             lws_ser_wu32be
        - Src:             'lib/roles/http/header.c:844,9'
          Dst:             lws_ser_ru32be
    - functionName:    lws_http_string_to_known_header
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          53
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - strncmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:48,8'
          Dst:             strncmp
    - functionName:    lws_sul_http_ah_lifecheck
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 718
      functionLinenumberEnd: 797
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         35
      ICount:          219
      EdgeCount:       47
      CyclomaticComplexity: 14
      functionsReached:
        - __lws_close_free_wsi
        - _lws_log
        - lws_get_peer_simple
        - lws_hdr_copy
        - lws_hdr_total_length
        - lws_header_table_detach
        - lws_token_to_string
        - lws_wsi_tag
        - time
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:726,8'
          Dst:             time
        - Src:             'lib/roles/http/header.c:753,3'
          Dst:             lws_get_peer_simple
        - Src:             'lib/roles/http/header.c:757,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/header.c:757,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/header.c:764,8'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/http/header.c:770,10'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/header.c:776,8'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/header.c:779,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/header.c:786,3'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/http/header.c:790,3'
          Dst:             __lws_close_free_wsi
    - functionName:    lws_token_to_string
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_http_headers_detach
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 710
      functionLinenumberEnd: 711
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_header_table_detach
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:711,9'
          Dst:             lws_header_table_detach
    - functionName:    lws_http_compression_apply
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 697
      functionLinenumberEnd: 704
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          19
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_http_redirect
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 663
      functionLinenumberEnd: 690
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          106
      EdgeCount:       19
      CyclomaticComplexity: 7
      functionsReached:
        - lws_add_http_header_by_token
        - lws_add_http_header_status
        - lws_finalize_http_header
        - lws_write
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:666,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/header.c:669,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:677,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:681,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:685,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/header.c:688,9'
          Dst:             lws_write
    - functionName:    lws_add_http_header_status
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 350
      functionLinenumberEnd: 544
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         156
      ICount:          977
      EdgeCount:       212
      CyclomaticComplexity: 58
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_add_http2_header_status
        - lws_add_http_header_by_name
        - lws_add_http_header_by_token
        - lws_snprintf
        - lws_wsi_is_h2
        - strlen
        - strncasecmp
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:366,6'
          Dst:             lws_wsi_is_h2
        - Src:             'lib/roles/http/header.c:367,7'
          Dst:             lws_add_http2_header_status
        - Src:             'lib/roles/http/header.c:400,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/header.c:404,7'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/roles/http/header.c:417,20'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:422,21'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:426,27'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/header.c:437,10'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:434,7'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/roles/http/header.c:446,20'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:452,21'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:456,27'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/header.c:466,11'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:463,8'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/roles/http/header.c:478,21'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:484,22'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:488,28'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/header.c:498,23'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:502,29'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/header.c:514,12'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:511,9'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/roles/http/header.c:523,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/header.c:524,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:531,7'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/roles/http/header.c:538,3'
          Dst:             _lws_log
    - functionName:    lws_add_http_header_by_token
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 194
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          66
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - lws_add_http2_header_by_token
        - lws_add_http_header_by_name
        - lws_token_to_string
        - lws_wsi_is_h2
      functionUses:    29
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:180,6'
          Dst:             lws_wsi_is_h2
        - Src:             'lib/roles/http/header.c:181,10'
          Dst:             lws_add_http2_header_by_token
        - Src:             'lib/roles/http/header.c:189,9'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/http/header.c:193,9'
          Dst:             lws_add_http_header_by_name
    - functionName:    lws_finalize_http_header
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          58
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - lws_wsi_is_h2
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:122,6'
          Dst:             lws_wsi_is_h2
    - functionName:    lws_wsi_is_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          66
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_add_http_header_by_name
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          205
      EdgeCount:       41
      CyclomaticComplexity: 12
      functionsReached:
        - lws_add_http2_header_by_name
        - lws_wsi_is_h2
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:82,6'
          Dst:             lws_wsi_is_h2
        - Src:             'lib/roles/http/header.c:83,10'
          Dst:             lws_add_http2_header_by_name
    - 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:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_return_http_status
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 549
      functionLinenumberEnd: 658
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          333
      EdgeCount:       49
      CyclomaticComplexity: 16
      functionsReached:
        - _lws_log
        - lws_add_http_header_by_token
        - lws_add_http_header_status
        - lws_callback_on_writable
        - lws_finalize_http_header
        - lws_get_context
        - lws_http_redirect
        - lws_realloc
        - lws_snprintf
        - lws_write
        - strcpy
        - strlen
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:550,32'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/header.c:560,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/header.c:571,16'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:569,7'
          Dst:             lws_http_redirect
        - Src:             'lib/roles/http/header.c:582,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/header.c:585,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:590,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/header.c:598,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/header.c:599,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:603,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/header.c:621,7'
          Dst:             lws_write
        - Src:             'lib/roles/http/header.c:633,33'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/header.c:638,3'
          Dst:             strcpy
        - Src:             'lib/roles/http/header.c:639,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/header.c:652,7'
          Dst:             lws_write
    - functionName:    lws_add_http_common_headers
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 223
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          142
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - lws_add_http_header_by_token
        - lws_add_http_header_content_length
        - lws_add_http_header_status
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:228,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/header.c:234,15'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:232,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:254,7'
          Dst:             lws_add_http_header_content_length
        - Src:             'lib/roles/http/header.c:287,13'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:284,8'
          Dst:             lws_add_http_header_by_token
    - functionName:    lws_add_http_header_content_length
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 215
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          60
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - lws_add_http_header_by_token
        - lws_snprintf
        - lws_wsi_tag
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:204,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/header.c:205,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:211,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/header.c:211,2'
          Dst:             _lws_log
    - functionName:    lws_finalize_write_http_header
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          64
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - lws_finalize_http_header
        - lws_write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:161,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/header.c:167,6'
          Dst:             lws_write
    - functionName:    lws_http_check_retry_after
      functionSourceFile: '/src/libwebsockets/lib/roles/http/date.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 223
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          122
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - atoi
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_http_date_parse_unix
        - time
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/date.c:161,29'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/date.c:162,12'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/date.c:179,28'
          Dst:             atoi
        - Src:             'lib/roles/http/date.c:182,7'
          Dst:             lws_http_date_parse_unix
        - Src:             'lib/roles/http/date.c:191,3'
          Dst:             time
        - Src:             'lib/roles/http/date.c:192,23'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/date.c:194,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/date.c:196,10'
          Dst:             lws_http_date_parse_unix
    - functionName:    lws_http_date_parse_unix
      functionSourceFile: '/src/libwebsockets/lib/roles/http/date.c'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_http_date_parse
        - timegm
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/date.c:139,6'
          Dst:             lws_http_date_parse
        - Src:             'lib/roles/http/date.c:146,7'
          Dst:             timegm
    - functionName:    lws_http_date_parse
      functionSourceFile: '/src/libwebsockets/lib/roles/http/date.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 132
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         76
      ICount:          435
      EdgeCount:       105
      CyclomaticComplexity: 31
      functionsReached:
        - atoi
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/date.c:110,16'
          Dst:             atoi
        - Src:             'lib/roles/http/date.c:111,6'
          Dst:             atoi
        - Src:             'lib/roles/http/date.c:116,6'
          Dst:             atoi
        - Src:             'lib/roles/http/date.c:121,6'
          Dst:             atoi
        - Src:             'lib/roles/http/date.c:126,6'
          Dst:             atoi
    - functionName:    lws_http_date_render
      functionSourceFile: '/src/libwebsockets/lib/roles/http/date.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          92
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/date.c:45,2'
          Dst:             lws_snprintf
    - functionName:    lws_http_date_render_from_unix
      functionSourceFile: '/src/libwebsockets/lib/roles/http/date.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - gmtime_r
        - lws_http_date_render
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/date.c:58,18'
          Dst:             gmtime_r
        - Src:             'lib/roles/http/date.c:65,6'
          Dst:             lws_http_date_render
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_http_remove_urlarg
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1728
      functionLinenumberEnd: 1753
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          132
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - strlen
        - strncmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:1729,28'
          Dst:             strlen
        - Src:             'lib/roles/http/parsers.c:1739,24'
          Dst:             strncmp
    - functionName:    lws_http_cookie_get
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1533
      functionLinenumberEnd: 1612
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         70
      ICount:          461
      EdgeCount:       95
      CyclomaticComplexity: 27
      functionsReached:
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_snprintf
        - memcmp
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:1543,4'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/parsers.c:1548,8'
          Dst:             strlen
        - Src:             'lib/roles/http/parsers.c:1549,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/parsers.c:1554,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/parsers.c:1565,37'
          Dst:             memcmp
        - Src:             'lib/roles/http/parsers.c:1585,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/parsers.c:1590,11'
          Dst:             memcmp
        - Src:             'lib/roles/http/parsers.c:1592,16'
          Dst:             lws_hdr_simple_ptr
    - functionName:    lws_hdr_total_length
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 472
      functionLinenumberEnd: 492
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          100
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    78
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_hdr_simple_ptr
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 675
      functionLinenumberEnd: 686
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          65
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    84
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_parse
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1012
      functionLinenumberEnd: 1526
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         245
      ICount:          1758
      EdgeCount:       327
      CyclomaticComplexity: 84
      functionsReached:
        - __assert_fail
        - _lws_log
        - atoi
        - issue_char
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_parse_urldecode
        - lws_pos_in_bounds
        - lws_return_http_status
        - lws_ser_wu16be
        - lws_ser_wu32be
        - lws_strncpy
      functionUses:    4
      BranchProfiles:
        - Branch String:   'lib/roles/http/parsers.c:1025,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/http/parsers.c:1105,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:1019,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:1032,5'
          Dst:             lws_ser_wu16be
        - Src:             'lib/roles/http/parsers.c:1044,9'
          Dst:             lws_pos_in_bounds
        - Src:             'lib/roles/http/parsers.c:1054,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1074,10'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:1096,9'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:1104,8'
          Dst:             lws_parse_urldecode
        - Src:             'lib/roles/http/parsers.c:1133,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1136,22'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:1162,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1192,11'
          Dst:             lws_pos_in_bounds
        - Src:             'lib/roles/http/parsers.c:1197,8'
          Dst:             lws_pos_in_bounds
        - Src:             'lib/roles/http/parsers.c:1220,6'
          Dst:             lws_ser_wu32be
        - Src:             'lib/roles/http/parsers.c:1228,5'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/parsers.c:1231,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1239,5'
          Dst:             lws_ser_wu16be
        - Src:             'lib/roles/http/parsers.c:1351,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1357,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1382,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1386,7'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1440,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1460,8'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:1466,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1480,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1493,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1505,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/parsers.c:1507,20'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/parsers.c:1509,31'
          Dst:             atoi
        - Src:             'lib/roles/http/parsers.c:1511,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1520,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1522,2'
          Dst:             lws_return_http_status
    - functionName:    lws_pos_in_bounds
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 690
      functionLinenumberEnd: 713
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          91
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - _lws_log
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:699,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/parsers.c:699,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/parsers.c:699,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/parsers.c:707,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:710,2'
          Dst:             __assert_fail
    - functionName:    issue_char
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 754
      functionLinenumberEnd: 784
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          172
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log
        - lws_pos_in_bounds
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:757,6'
          Dst:             lws_pos_in_bounds
        - Src:             'lib/roles/http/parsers.c:774,7'
          Dst:             lws_pos_in_bounds
        - Src:             'lib/roles/http/parsers.c:778,3'
          Dst:             _lws_log
    - functionName:    lws_parse_urldecode
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 788
      functionLinenumberEnd: 991
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         112
      ICount:          780
      EdgeCount:       150
      CyclomaticComplexity: 40
      functionsReached:
        - _lws_log
        - char_to_hex
        - issue_char
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/roles/http/parsers.c:799,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/http/parsers.c:851,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:807,7'
          Dst:             char_to_hex
        - Src:             'lib/roles/http/parsers.c:816,7'
          Dst:             char_to_hex
        - Src:             'lib/roles/http/parsers.c:820,34'
          Dst:             char_to_hex
        - Src:             'lib/roles/http/parsers.c:821,5'
          Dst:             char_to_hex
        - Src:             'lib/roles/http/parsers.c:847,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:856,8'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:917,7'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:947,7'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:949,7'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:961,7'
          Dst:             issue_char
    - functionName:    lws_hdr_simple_create
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 717
      functionLinenumberEnd: 750
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          204
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log
        - lws_pos_in_bounds
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:730,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:741,7'
          Dst:             lws_pos_in_bounds
    - functionName:    lws_hdr_custom_name_foreach
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 651
      functionLinenumberEnd: 671
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          119
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - lws_ser_ru16be
        - lws_ser_ru32be
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:664,6'
          Dst:             lws_ser_ru16be
        - Src:             'lib/roles/http/parsers.c:667,8'
          Dst:             lws_ser_ru32be
    - functionName:    lws_hdr_custom_copy
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 617
      functionLinenumberEnd: 646
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          189
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - lws_ser_ru16be
        - lws_ser_ru32be
        - strncmp
        - strncpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:630,15'
          Dst:             lws_ser_ru16be
        - Src:             'lib/roles/http/parsers.c:632,8'
          Dst:             strncmp
        - Src:             'lib/roles/http/parsers.c:633,8'
          Dst:             lws_ser_ru16be
        - Src:             'lib/roles/http/parsers.c:637,4'
          Dst:             strncpy
        - Src:             'lib/roles/http/parsers.c:642,8'
          Dst:             lws_ser_ru32be
    - functionName:    lws_hdr_custom_length
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 592
      functionLinenumberEnd: 612
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          148
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - lws_ser_ru16be
        - lws_ser_ru32be
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:602,15'
          Dst:             lws_ser_ru16be
        - Src:             'lib/roles/http/parsers.c:604,8'
          Dst:             strncmp
        - Src:             'lib/roles/http/parsers.c:605,11'
          Dst:             lws_ser_ru16be
        - Src:             'lib/roles/http/parsers.c:608,8'
          Dst:             lws_ser_ru32be
    - functionName:    lws_hdr_copy
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 527
      functionLinenumberEnd: 587
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          265
      EdgeCount:       40
      CyclomaticComplexity: 12
      functionsReached:
        - _lws_log_cx
        - lws_hdr_total_length
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
        - strncpy
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:528,15'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/parsers.c:553,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/parsers.c:553,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/parsers.c:553,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/parsers.c:556,3'
          Dst:             strncpy
    - functionName:    lws_hdr_copy_fragment
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 496
      functionLinenumberEnd: 523
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          164
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_hdr_fragment_length
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 453
      functionLinenumberEnd: 469
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          106
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_header_table_detach
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 439
      functionLinenumberEnd: 448
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          39
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_header_table_detach
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:445,6'
          Dst:             __lws_header_table_detach
    - functionName:    __lws_header_table_detach
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 300
      functionLinenumberEnd: 436
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         39
      ICount:          341
      EdgeCount:       49
      CyclomaticComplexity: 12
      functionsReached:
        - __assert_fail
        - __lws_header_table_reset
        - __lws_remove_from_ah_waiting_list
        - _lws_change_pollfd
        - _lws_destroy_ah
        - _lws_log
        - lws_http_client_connect_via_info2
        - lws_wsi_tag
        - time
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:308,2'
          Dst:             __lws_remove_from_ah_waiting_list
        - Src:             'lib/roles/http/parsers.c:313,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:313,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:318,2'
          Dst:             time
        - Src:             'lib/roles/http/parsers.c:324,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:324,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:333,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:335,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:355,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:355,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:375,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:375,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:382,2'
          Dst:             __lws_header_table_reset
        - Src:             'lib/roles/http/parsers.c:393,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:393,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:398,3'
          Dst:             _lws_change_pollfd
        - Src:             'lib/roles/http/parsers.c:411,8'
          Dst:             lws_http_client_connect_via_info2
        - Src:             'lib/roles/http/parsers.c:422,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:425,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:425,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:431,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:432,2'
          Dst:             _lws_destroy_ah
    - functionName:    __lws_remove_from_ah_waiting_list
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 197
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          81
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lws_wsi_tag
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:184,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:184,4'
          Dst:             _lws_log
    - functionName:    __lws_header_table_reset
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          135
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - __lws_set_timeout
        - _lws_header_table_reset
        - _lws_log
        - lws_buflist_next_segment_len
        - lws_service_fd_tsi
        - time
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:109,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:111,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:113,2'
          Dst:             _lws_header_table_reset
        - Src:             'lib/roles/http/parsers.c:119,2'
          Dst:             __lws_set_timeout
        - Src:             'lib/roles/http/parsers.c:122,2'
          Dst:             time
        - Src:             'lib/roles/http/parsers.c:125,6'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/http/parsers.c:127,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:136,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:137,3'
          Dst:             lws_service_fd_tsi
    - functionName:    _lws_destroy_ah
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          108
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log
        - lws_realloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:67,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:71,5'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/parsers.c:72,4'
          Dst:             lws_realloc
    - functionName:    _lws_header_table_reset
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          38
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _lws_create_ah
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          81
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lws_realloc
        - lws_zalloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:38,33'
          Dst:             lws_zalloc
        - Src:             'lib/roles/http/parsers.c:43,13'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/parsers.c:45,3'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/parsers.c:54,2'
          Dst:             _lws_log
    - functionName:    _lws_header_ensure_we_are_on_waiting_list
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          83
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_change_pollfd
        - _lws_log
        - lws_wsi_tag
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:166,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:166,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:173,2'
          Dst:             _lws_change_pollfd
    - functionName:    lws_header_table_attach
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 297
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          215
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - __assert_fail
        - __lws_header_table_reset
        - __lws_remove_from_ah_waiting_list
        - _lws_change_pollfd
        - _lws_create_ah
        - _lws_header_ensure_we_are_on_waiting_list
        - _lws_log
        - lws_http_client_connect_via_info2
        - lws_wsi_tag
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:212,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:212,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:217,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:218,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:226,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:243,3'
          Dst:             _lws_header_ensure_we_are_on_waiting_list
        - Src:             'lib/roles/http/parsers.c:248,2'
          Dst:             __lws_remove_from_ah_waiting_list
        - Src:             'lib/roles/http/parsers.c:250,17'
          Dst:             _lws_create_ah
        - Src:             'lib/roles/http/parsers.c:252,3'
          Dst:             _lws_header_ensure_we_are_on_waiting_list
        - Src:             'lib/roles/http/parsers.c:269,2'
          Dst:             _lws_change_pollfd
        - Src:             'lib/roles/http/parsers.c:271,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:271,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:275,2'
          Dst:             __lws_header_table_reset
        - Src:             'lib/roles/http/parsers.c:284,8'
          Dst:             lws_http_client_connect_via_info2
    - functionName:    lws_header_table_reset
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_header_table_reset
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:148,2'
          Dst:             __lws_header_table_reset
    - functionName:    lws_chunked_html_process
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3645
      functionLinenumberEnd: 3739
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         54
      ICount:          528
      EdgeCount:       72
      CyclomaticComplexity: 20
      functionsReached:
        - _lws_log
        - sprintf
        - strlen
        - strncmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:3658,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3671,10'
          Dst:             strncmp
        - Src:             'lib/roles/http/server/server.c:3684,36'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:3688,14'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:3714,7'
          Dst:             sprintf
    - 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:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_server_get_canonical_hostname
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3623
      functionLinenumberEnd: 3639
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log_cx
        - gethostname
        - lws_log_prepend_context
        - lws_strncpy
        - lwsl_context_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:3629,6'
          Dst:             gethostname
        - Src:             'lib/roles/http/server/server.c:3631,3'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/server/server.c:3634,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/http/server/server.c:3634,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/server/server.c:3634,2'
          Dst:             lws_log_prepend_context
    - 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:    lws_vfs_file_seek_cur
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-vfs.h'
      linkageType:     InternalLinkage
      functionLinenumber: 230
      functionLinenumberEnd: 231
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_vfs_file_read
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-vfs.h'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_serve_http_file_fragment
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3248
      functionLinenumberEnd: 3615
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         84
      ICount:          663
      EdgeCount:       114
      CyclomaticComplexity: 32
      functionsReached:
        - _lws_log
        - lws_callback_on_writable
        - lws_get_network_wsi
        - lws_has_buffered_out
        - lws_header_table_reset
        - lws_issue_raw
        - lws_send_pipe_choked
        - lws_set_timeout
        - lws_vfs_file_close
        - lws_vfs_file_read
        - lws_vfs_file_seek_cur
        - lws_write
        - lws_wsi_tag
        - lwsi_set_state
        - user_callback_handle_rxflow
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:3262,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3268,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/server/server.c:3269,8'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/http/server/server.c:3270,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3348,10'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/http/server/server.c:3377,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:3377,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3456,8'
          Dst:             lws_vfs_file_read
        - Src:             'lib/roles/http/server/server.c:3483,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3486,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:3496,9'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/http/server/server.c:3517,8'
          Dst:             lws_write
        - Src:             'lib/roles/http/server/server.c:3543,9'
          Dst:             lws_vfs_file_seek_cur
        - Src:             'lib/roles/http/server/server.c:3551,9'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/server/server.c:3563,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:3565,4'
          Dst:             lws_vfs_file_close
        - Src:             'lib/roles/http/server/server.c:3567,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3570,8'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/http/server/server.c:3595,5'
          Dst:             lws_header_table_reset
        - Src:             'lib/roles/http/server/server.c:3605,12'
          Dst:             lws_send_pipe_choked
        - Src:             'lib/roles/http/server/server.c:3607,2'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/server/server.c:3612,2'
          Dst:             lws_vfs_file_close
    - functionName:    lws_vfs_file_close
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-vfs.h'
      linkageType:     InternalLinkage
      functionLinenumber: 214
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          50
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_vfs_prepare_flags
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 701
      functionLinenumberEnd: 714
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - strstr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:704,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:707,21'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:707,14'
          Dst:             strstr
        - Src:             'lib/roles/http/server/server.c:709,3'
          Dst:             _lws_log
    - functionName:    lws_serve_http_file
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2919
      functionLinenumberEnd: 3242
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         71
      ICount:          555
      EdgeCount:       98
      CyclomaticComplexity: 29
      functionsReached:
        - __errno_location
        - _lws_log
        - lws_add_http_header_by_token
        - lws_add_http_header_content_length
        - lws_add_http_header_status
        - lws_callback_on_writable
        - lws_finalize_http_header
        - lws_get_context
        - lws_hdr_total_length
        - lws_http_transaction_completed
        - lws_return_http_status
        - lws_vfs_file_close
        - lws_vfs_get_length
        - lws_vfs_prepare_flags
        - lws_vfs_select_fops
        - lws_write
        - lwsi_set_state
        - sprintf
        - strlen
        - strstr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:2920,32'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/server/server.c:2949,10'
          Dst:             lws_vfs_select_fops
        - Src:             'lib/roles/http/server/server.c:2950,13'
          Dst:             lws_vfs_prepare_flags
        - Src:             'lib/roles/http/server/server.c:2964,4'
          Dst:             __errno_location
        - Src:             'lib/roles/http/server/server.c:2964,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2966,8'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2989,23'
          Dst:             lws_vfs_get_length
        - Src:             'lib/roles/http/server/server.c:3020,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/server/server.c:3026,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:3030,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3056,13'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:3053,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:3139,8'
          Dst:             lws_add_http_header_content_length
        - Src:             'lib/roles/http/server/server.c:3178,11'
          Dst:             sprintf
        - Src:             'lib/roles/http/server/server.c:3183,12'
          Dst:             sprintf
        - Src:             'lib/roles/http/server/server.c:3188,12'
          Dst:             sprintf
        - Src:             'lib/roles/http/server/server.c:3197,16'
          Dst:             strstr
        - Src:             'lib/roles/http/server/server.c:3198,16'
          Dst:             strstr
        - Src:             'lib/roles/http/server/server.c:3199,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:3212,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/server/server.c:3215,8'
          Dst:             lws_write
        - Src:             'lib/roles/http/server/server.c:3217,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3223,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:3225,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:3227,3'
          Dst:             lws_vfs_file_close
        - Src:             'lib/roles/http/server/server.c:3228,7'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:3234,2'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/server/server.c:3239,2'
          Dst:             lws_vfs_file_close
    - functionName:    lws_http_transaction_completed
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2705
      functionLinenumberEnd: 2913
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         65
      ICount:          451
      EdgeCount:       89
      CyclomaticComplexity: 26
      functionsReached:
        - _lws_log
        - lws_bind_protocol
        - lws_buflist_next_segment_len
        - lws_callback_on_writable
        - lws_get_peer_simple
        - lws_has_buffered_out
        - lws_header_table_attach
        - lws_header_table_detach
        - lws_header_table_reset
        - lws_realloc
        - lws_set_timeout
        - lws_vfs_file_close
        - lws_wsi_keepalive_timeout_eff
        - lws_wsi_tag
        - lwsi_set_state
      functionUses:    19
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:2706,2'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/server/server.c:2711,6'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/server/server.c:2725,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2725,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2728,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/server/server.c:2750,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:2764,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2764,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2779,3'
          Dst:             lws_get_peer_simple
        - Src:             'lib/roles/http/server/server.c:2784,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2810,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2810,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2814,6'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:2823,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2823,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2825,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:2836,3'
          Dst:             lws_vfs_file_close
        - Src:             'lib/roles/http/server/server.c:2848,29'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/http/server/server.c:2848,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:2865,8'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/http/server/server.c:2866,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2866,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2868,4'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/http/server/server.c:2880,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2886,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2886,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2888,4'
          Dst:             lws_header_table_reset
        - Src:             'lib/roles/http/server/server.c:2895,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:2904,7'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/http/server/server.c:2905,8'
          Dst:             lws_header_table_attach
        - Src:             'lib/roles/http/server/server.c:2906,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2908,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2908,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2910,2'
          Dst:             lws_callback_on_writable
    - functionName:    lws_handshake_server
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2365
      functionLinenumberEnd: 2700
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         123
      ICount:          798
      EdgeCount:       168
      CyclomaticComplexity: 47
      functionsReached:
        - __assert_fail
        - _lws_log
        - atoi
        - lws_b64_decode_string
        - lws_confirm_host_header
        - lws_find_mount
        - lws_get_context
        - lws_h2_init
        - lws_h2_settings
        - lws_hdr_copy
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_header_table_detach
        - lws_hpack_dynamic_size
        - lws_http_action
        - lws_http_evaluate_interceptors
        - lws_http_get_uri_and_method
        - lws_http_redirect_hit
        - lws_http_to_fallback
        - lws_http_transaction_completed
        - lws_issue_raw
        - lws_parse
        - lws_process_ws_upgrade
        - lws_return_http_status
        - lws_role_transition
        - lws_select_vhost
        - lws_set_timeout
        - lws_vhost_bind_wsi
        - lws_wsi_tag
        - lws_zalloc
        - lwsi_set_state
        - strcasecmp
        - strchr
        - strcpy
        - strlen
        - strstr
        - user_callback_handle_rxflow
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:2366,32'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/server/server.c:2379,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2380,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/server/server.c:2384,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2385,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/server/server.c:2390,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2396,7'
          Dst:             lws_parse
        - Src:             'lib/roles/http/server/server.c:2397,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2415,8'
          Dst:             lws_http_to_fallback
        - Src:             'lib/roles/http/server/server.c:2416,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2425,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2436,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2441,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2444,5'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:2442,30'
          Dst:             lws_select_vhost
        - Src:             'lib/roles/http/server/server.c:2447,5'
          Dst:             lws_vhost_bind_wsi
        - Src:             'lib/roles/http/server/server.c:2449,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2463,8'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:2471,19'
          Dst:             strstr
        - Src:             'lib/roles/http/server/server.c:2476,20'
          Dst:             strchr
        - Src:             'lib/roles/http/server/server.c:2480,21'
          Dst:             atoi
        - Src:             'lib/roles/http/server/server.c:2479,6'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2514,8'
          Dst:             lws_http_get_uri_and_method
        - Src:             'lib/roles/http/server/server.c:2516,11'
          Dst:             lws_find_mount
        - Src:             'lib/roles/http/server/server.c:2518,10'
          Dst:             lws_http_redirect_hit
        - Src:             'lib/roles/http/server/server.c:2524,7'
          Dst:             lws_http_evaluate_interceptors
        - Src:             'lib/roles/http/server/server.c:2526,35'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2532,7'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2533,7'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2542,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2543,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2547,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:2548,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:2550,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2552,21'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:2555,8'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:2556,8'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:2557,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2559,9'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2561,9'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:2564,9'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/http/server/server.c:2576,13'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:2588,6'
          Dst:             lws_confirm_host_header
        - Src:             'lib/roles/http/server/server.c:2591,10'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:2594,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2599,10'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:2601,9'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2610,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2610,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2612,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:2621,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2621,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2624,7'
          Dst:             lws_http_action
        - Src:             'lib/roles/http/server/server.c:2630,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2631,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2635,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2637,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:2639,7'
          Dst:             lws_b64_decode_string
        - Src:             'lib/roles/http/server/server.c:2641,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2650,3'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/server/server.c:2657,18'
          Dst:             lws_zalloc
        - Src:             'lib/roles/http/server/server.c:2662,3'
          Dst:             lws_h2_init
        - Src:             'lib/roles/http/server/server.c:2666,3'
          Dst:             lws_h2_settings
        - Src:             'lib/roles/http/server/server.c:2668,7'
          Dst:             lws_hpack_dynamic_size
        - Src:             'lib/roles/http/server/server.c:2672,3'
          Dst:             strcpy
        - Src:             'lib/roles/http/server/server.c:2675,12'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:2676,7'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/http/server/server.c:2678,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2686,7'
          Dst:             lws_process_ws_upgrade
        - Src:             'lib/roles/http/server/server.c:2697,2'
          Dst:             lws_header_table_detach
    - functionName:    lws_http_to_fallback
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2312
      functionLinenumberEnd: 2361
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          284
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - _lws_log
        - lws_bind_protocol
        - lws_get_peer_simple
        - lws_header_table_detach
        - lws_role_by_name
        - lws_role_transition
        - lws_set_timeout
        - lws_vhost_name_to_protocol
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:2320,6'
          Dst:             lws_role_by_name
        - Src:             'lib/roles/http/server/server.c:2321,10'
          Dst:             lws_role_by_name
        - Src:             'lib/roles/http/server/server.c:2324,8'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/server/server.c:2330,2'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:2332,2'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/server/server.c:2334,2'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/http/server/server.c:2335,2'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:2343,2'
          Dst:             lws_get_peer_simple
        - Src:             'lib/roles/http/server/server.c:2346,2'
          Dst:             _lws_log
    - functionName:    lws_select_vhost
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 566
      functionLinenumberEnd: 624
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          241
      EdgeCount:       50
      CyclomaticComplexity: 15
      functionsReached:
        - _lws_log
        - strchr
        - strlen
        - strncmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:571,11'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:573,14'
          Dst:             strchr
        - Src:             'lib/roles/http/server/server.c:581,8'
          Dst:             strncmp
        - Src:             'lib/roles/http/server/server.c:582,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:597,16'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:601,8'
          Dst:             strncmp
        - Src:             'lib/roles/http/server/server.c:602,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:614,4'
          Dst:             _lws_log
    - functionName:    lws_http_get_uri_and_method
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1190
      functionLinenumberEnd: 1220
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          174
      EdgeCount:       39
      CyclomaticComplexity: 11
      functionsReached:
        - _lws_log
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:1194,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1197,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1205,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1208,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1213,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1214,16'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1215,16'
          Dst:             lws_hdr_total_length
    - functionName:    lws_find_mount
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1004
      functionLinenumberEnd: 1056
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         58
      ICount:          326
      EdgeCount:       81
      CyclomaticComplexity: 25
      functionsReached:
        - lws_hdr_total_length
        - strncmp
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:1011,8'
          Dst:             strncmp
        - Src:             'lib/roles/http/server/server.c:1023,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1033,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1034,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1036,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1037,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1038,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1040,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1043,5'
          Dst:             lws_hdr_total_length
    - functionName:    lws_http_redirect_hit
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1607
      functionLinenumberEnd: 1692
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          314
      EdgeCount:       54
      CyclomaticComplexity: 16
      functionsReached:
        - _lws_log
        - lws_clean_url
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_header_table_detach
        - lws_http_redirect
        - lws_http_transaction_completed
        - lws_is_ssl
        - lws_snprintf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:1643,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1649,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:1653,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:1657,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1659,10'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1665,28'
          Dst:             lws_is_ssl
        - Src:             'lib/roles/http/server/server.c:1666,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1664,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:1672,28'
          Dst:             lws_is_ssl
        - Src:             'lib/roles/http/server/server.c:1673,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1671,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:1677,3'
          Dst:             lws_clean_url
        - Src:             'lib/roles/http/server/server.c:1678,7'
          Dst:             lws_http_redirect
        - Src:             'lib/roles/http/server/server.c:1683,10'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:1689,2'
          Dst:             lws_header_table_detach
    - functionName:    lws_http_evaluate_interceptors
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1697
      functionLinenumberEnd: 1724
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      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:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_confirm_host_header
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2240
      functionLinenumberEnd: 2307
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         32
      ICount:          211
      EdgeCount:       43
      CyclomaticComplexity: 13
      functionsReached:
        - _lws_log
        - atoi
        - lws_hdr_copy
        - lws_hdr_total_length
        - lws_tokenize
        - lws_tokenize_init
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:2251,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2252,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2262,6'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:2264,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2268,2'
          Dst:             lws_tokenize_init
        - Src:             'lib/roles/http/server/server.c:2272,6'
          Dst:             lws_tokenize
        - Src:             'lib/roles/http/server/server.c:2275,6'
          Dst:             strncmp
        - Src:             'lib/roles/http/server/server.c:2277,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2282,6'
          Dst:             lws_tokenize
        - Src:             'lib/roles/http/server/server.c:2284,7'
          Dst:             lws_tokenize
        - Src:             'lib/roles/http/server/server.c:2287,11'
          Dst:             atoi
        - Src:             'lib/roles/http/server/server.c:2294,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2299,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2304,2'
          Dst:             _lws_log
    - functionName:    lws_http_action
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1729
      functionLinenumberEnd: 2236
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         193
      ICount:          1548
      EdgeCount:       262
      CyclomaticComplexity: 71
      functionsReached:
        - _lws_log
        - atoll
        - lws_bind_protocol
        - lws_buflist_aware_finished_consuming
        - lws_buflist_next_segment_len
        - lws_check_basic_auth
        - lws_ensure_user_space
        - lws_find_mount
        - lws_get_peer_simple
        - lws_hdr_copy
        - lws_hdr_copy_fragment
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_header_table_detach
        - lws_http_evaluate_interceptors
        - lws_http_get_uri_and_method
        - lws_http_redirect
        - lws_http_redirect_hit
        - lws_http_serve
        - lws_http_transaction_completed
        - lws_read_h1
        - lws_return_http_status
        - lws_set_timeout
        - lws_snprintf
        - lws_unauthorised_basic_auth
        - lws_vhost_name_to_protocol
        - lws_wsi_tag
        - lwsi_set_state
        - strcasecmp
        - strlen
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib/roles/http/server/server.c:1765,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/http/server/server.c:1971,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:1745,9'
          Dst:             lws_http_get_uri_and_method
        - Src:             'lib/roles/http/server/server.c:1755,3'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:1760,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1776,6'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/http/server/server.c:1783,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1786,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1787,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1792,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1793,6'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:1796,22'
          Dst:             atoll
        - Src:             'lib/roles/http/server/server.c:1798,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1800,4'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:1807,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1818,22'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1820,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:1835,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1836,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:1839,9'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:1842,10'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:1854,3'
          Dst:             lws_get_peer_simple
        - Src:             'lib/roles/http/server/server.c:1854,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1865,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:1879,21'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1883,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1886,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:1887,13'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1899,10'
          Dst:             lws_hdr_copy_fragment
        - Src:             'lib/roles/http/server/server.c:1903,9'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:1912,21'
          Dst:             lws_http_redirect
        - Src:             'lib/roles/http/server/server.c:1917,10'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:1931,8'
          Dst:             lws_find_mount
        - Src:             'lib/roles/http/server/server.c:1935,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1937,7'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:1941,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:1956,20'
          Dst:             lws_http_redirect_hit
        - Src:             'lib/roles/http/server/server.c:1965,8'
          Dst:             lws_http_evaluate_interceptors
        - Src:             'lib/roles/http/server/server.c:1971,10'
          Dst:             lws_check_basic_auth
        - Src:             'lib/roles/http/server/server.c:1977,10'
          Dst:             lws_unauthorised_basic_auth
        - Src:             'lib/roles/http/server/server.c:1979,3'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:1980,10'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:2017,8'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/server/server.c:2019,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2024,7'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:2027,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2040,4'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2052,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2113,7'
          Dst:             lws_http_serve
        - Src:             'lib/roles/http/server/server.c:2123,6'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/server/server.c:2129,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:2131,8'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:2145,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2165,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2170,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2198,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:2199,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2199,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2215,19'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/http/server/server.c:2220,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2221,7'
          Dst:             lws_read_h1
        - Src:             'lib/roles/http/server/server.c:2225,7'
          Dst:             lws_buflist_aware_finished_consuming
        - Src:             'lib/roles/http/server/server.c:2233,2'
          Dst:             lws_header_table_detach
    - functionName:    lws_check_basic_auth
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1243
      functionLinenumberEnd: 1330
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          223
      EdgeCount:       38
      CyclomaticComplexity: 11
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - lws_authorization_rewrite
        - lws_b64_decode_string
        - lws_find_string_in_file
        - lws_hdr_copy
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
        - strcasecmp
        - strchr
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib/roles/http/server/server.c:1293,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:1253,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1261,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1265,6'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:1268,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1273,6'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:1274,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1280,6'
          Dst:             lws_b64_decode_string
        - Src:             'lib/roles/http/server/server.c:1282,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1287,19'
          Dst:             strchr
        - Src:             'lib/roles/http/server/server.c:1289,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1295,7'
          Dst:             lws_find_string_in_file
        - Src:             'lib/roles/http/server/server.c:1297,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1319,2'
          Dst:             lws_authorization_rewrite
        - Src:             'lib/roles/http/server/server.c:1321,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/server/server.c:1321,2'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1321,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/server/server.c:1321,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_unauthorised_basic_auth
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1109
      functionLinenumberEnd: 1140
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          117
      EdgeCount:       19
      CyclomaticComplexity: 7
      functionsReached:
        - lws_add_http_header_by_token
        - lws_add_http_header_content_length
        - lws_add_http_header_status
        - lws_finalize_http_header
        - lws_http_transaction_completed
        - lws_snprintf
        - lws_write
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:1118,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/server/server.c:1121,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:1122,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:1127,6'
          Dst:             lws_add_http_header_content_length
        - Src:             'lib/roles/http/server/server.c:1130,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/server/server.c:1133,6'
          Dst:             lws_write
        - Src:             'lib/roles/http/server/server.c:1138,9'
          Dst:             lws_http_transaction_completed
    - functionName:    lws_http_serve
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 719
      functionLinenumberEnd: 998
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         125
      ICount:          963
      EdgeCount:       172
      CyclomaticComplexity: 49
      functionsReached:
        - __errno_location
        - _lws_log
        - fstat
        - lws_add_http_header_by_token
        - lws_add_http_header_status
        - lws_bind_protocol
        - lws_ensure_user_space
        - lws_finalize_http_header
        - lws_get_mimetype
        - lws_get_vhost
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_http_transaction_completed
        - lws_return_http_status
        - lws_serve_http_file
        - lws_snprintf
        - lws_vfs_file_close
        - lws_vfs_get_length
        - lws_vfs_get_mod_time
        - lws_vfs_prepare_flags
        - lws_vfs_select_fops
        - lws_vhost_name_to_protocol
        - lws_write
        - readlink
        - sprintf
        - strcmp
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:748,7'
          Dst:             strcmp
        - Src:             'lib/roles/http/server/server.c:752,2'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:756,12'
          Dst:             lws_vfs_prepare_flags
        - Src:             'lib/roles/http/server/server.c:760,10'
          Dst:             lws_vfs_select_fops
        - Src:             'lib/roles/http/server/server.c:763,4'
          Dst:             lws_vfs_file_close
        - Src:             'lib/roles/http/server/server.c:768,4'
          Dst:             __errno_location
        - Src:             'lib/roles/http/server/server.c:768,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:781,7'
          Dst:             fstat
        - Src:             'lib/roles/http/server/server.c:782,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:808,18'
          Dst:             readlink
        - Src:             'lib/roles/http/server/server.c:810,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:814,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:815,4'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:819,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:820,4'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:827,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:830,27'
          Dst:             lws_vfs_get_length
        - Src:             'lib/roles/http/server/server.c:831,22'
          Dst:             lws_vfs_get_mod_time
        - Src:             'lib/roles/http/server/server.c:829,6'
          Dst:             sprintf
        - Src:             'lib/roles/http/server/server.c:835,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:836,19'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:836,7'
          Dst:             strcmp
        - Src:             'lib/roles/http/server/server.c:840,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:845,20'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:845,8'
          Dst:             strcmp
        - Src:             'lib/roles/http/server/server.c:851,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:855,8'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/server/server.c:857,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:862,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:872,14'
          Dst:             sprintf
        - Src:             'lib/roles/http/server/server.c:878,49'
          Dst:             sprintf
        - Src:             'lib/roles/http/server/server.c:885,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:890,8'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/server/server.c:893,8'
          Dst:             lws_write
        - Src:             'lib/roles/http/server/server.c:897,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:902,4'
          Dst:             lws_vfs_file_close
        - Src:             'lib/roles/http/server/server.c:904,8'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:911,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:916,13'
          Dst:             lws_get_mimetype
        - Src:             'lib/roles/http/server/server.c:918,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:919,7'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:921,7'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:927,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:937,12'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:938,16'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:939,39'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:939,8'
          Dst:             strcmp
        - Src:             'lib/roles/http/server/server.c:945,5'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/server/server.c:947,6'
          Dst:             lws_get_vhost
        - Src:             'lib/roles/http/server/server.c:949,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:953,8'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:957,8'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/http/server/server.c:965,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:973,36'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/server/server.c:976,14'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:987,6'
          Dst:             lws_serve_http_file
        - Src:             'lib/roles/http/server/server.c:990,27'
          Dst:             lws_http_transaction_completed
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    readlink
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_mimetype
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 654
      functionLinenumberEnd: 696
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          198
      EdgeCount:       42
      CyclomaticComplexity: 12
      functionsReached:
        - _lws_log
        - strcasecmp
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:656,13'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:668,9'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:669,19'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:670,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:680,9'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:681,19'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:682,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:690,3'
          Dst:             _lws_log
    - functionName:    lws_find_string_in_file
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1062
      functionLinenumberEnd: 1102
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          157
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log
        - close
        - lws_open
        - read
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:1066,7'
          Dst:             lws_open
        - Src:             'lib/roles/http/server/server.c:1068,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1074,13'
          Dst:             read
        - Src:             'lib/roles/http/server/server.c:1099,2'
          Dst:             close
    - functionName:    lws_authorization_rewrite
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1226
      functionLinenumberEnd: 1238
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          68
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_hdr_simple_ptr
        - strncpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:1227,12'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1234,2'
          Dst:             strncpy
    - functionName:    lws_clean_url
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1145
      functionLinenumberEnd: 1169
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         30
      ICount:          161
      EdgeCount:       40
      CyclomaticComplexity: 12
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _lws_vhost_init_server
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 464
      functionLinenumberEnd: 560
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         49
      ICount:          280
      EdgeCount:       67
      CyclomaticComplexity: 20
      functionsReached:
        - _lws_log
        - _lws_vhost_init_server_af
        - lws_parse_numeric_address
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:513,7'
          Dst:             lws_parse_numeric_address
        - Src:             'lib/roles/http/server/server.c:527,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:544,7'
          Dst:             _lws_vhost_init_server_af
        - Src:             'lib/roles/http/server/server.c:559,9'
          Dst:             _lws_vhost_init_server_af
    - functionName:    _lws_vhost_init_server_af
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 458
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         146
      ICount:          1057
      EdgeCount:       196
      CyclomaticComplexity: 52
      functionsReached:
        - __errno_location
        - __insert_wsi_socket_into_fds
        - __lws_lc_tag
        - __lws_wsi_create_with_role
        - __remove_wsi_socket_from_fds
        - _lws_log
        - check_extant
        - close
        - dup
        - listen
        - lws_dll2_add_tail
        - lws_dll2_remove
        - lws_plat_set_socket_options
        - lws_socket_bind
        - lws_vhost_bind_wsi
        - lws_vhost_foreach_listen_wsi
        - setsockopt
        - socket
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/roles/http/server/server.c:158,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:104,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:106,6'
          Dst:             lws_vhost_foreach_listen_wsi
        - Src:             'lib/roles/http/server/server.c:106,6'
          Dst:             check_extant
        - Src:             'lib/roles/http/server/server.c:120,8'
          Dst:             lws_socket_bind
        - Src:             'lib/roles/http/server/server.c:123,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:133,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:149,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:167,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:181,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:229,13'
          Dst:             dup
        - Src:             'lib/roles/http/server/server.c:236,6'
          Dst:             socket
        - Src:             'lib/roles/http/server/server.c:239,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:269,7'
          Dst:             setsockopt
        - Src:             'lib/roles/http/server/server.c:271,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:272,4'
          Dst:             close
        - Src:             'lib/roles/http/server/server.c:287,7'
          Dst:             setsockopt
        - Src:             'lib/roles/http/server/server.c:289,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:291,4'
          Dst:             close
        - Src:             'lib/roles/http/server/server.c:305,8'
          Dst:             setsockopt
        - Src:             'lib/roles/http/server/server.c:307,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:314,3'
          Dst:             lws_plat_set_socket_options
        - Src:             'lib/roles/http/server/server.c:320,9'
          Dst:             lws_socket_bind
        - Src:             'lib/roles/http/server/server.c:326,5'
          Dst:             close
        - Src:             'lib/roles/http/server/server.c:337,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:338,5'
          Dst:             close
        - Src:             'lib/roles/http/server/server.c:350,9'
          Dst:             __lws_wsi_create_with_role
        - Src:             'lib/roles/http/server/server.c:353,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:366,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:371,3'
          Dst:             lws_vhost_bind_wsi
        - Src:             'lib/roles/http/server/server.c:380,7'
          Dst:             __insert_wsi_socket_into_fds
        - Src:             'lib/roles/http/server/server.c:381,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:386,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/http/server/server.c:388,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/roles/http/server/server.c:409,8'
          Dst:             setsockopt
        - Src:             'lib/roles/http/server/server.c:411,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:416,7'
          Dst:             listen
        - Src:             'lib/roles/http/server/server.c:418,4'
          Dst:             __errno_location
        - Src:             'lib/roles/http/server/server.c:418,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:419,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/http/server/server.c:420,4'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/roles/http/server/server.c:428,4'
          Dst:             __lws_lc_tag
        - Src:             'lib/roles/http/server/server.c:441,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:444,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:454,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:455,2'
          Dst:             close
    - functionName:    check_extant
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          105
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log
        - lws_vhost_compare_listen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:69,7'
          Dst:             lws_vhost_compare_listen
        - Src:             'lib/roles/http/server/server.c:79,2'
          Dst:             _lws_log
    - functionName:    dup
      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:    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:    lws_h1_server_socket_service
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 332
      functionLinenumberEnd: 591
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         115
      ICount:          713
      EdgeCount:       158
      CyclomaticComplexity: 45
      functionsReached:
        - _lws_log
        - lws_buflist_aware_finished_consuming
        - lws_buflist_aware_read
        - lws_change_pollfd
        - lws_close_free_wsi
        - lws_has_buffered_out
        - lws_header_table_attach
        - lws_header_table_detach
        - lws_issue_raw
        - lws_read_h1
        - lws_read_h2
        - lws_serve_http_file_fragment
        - lws_set_timeout
        - lws_wsi_keepalive_timeout_eff
        - lws_wsi_tag
        - lwsi_set_state
        - user_callback_handle_rxflow
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/roles/h1/ops-h1.c:396,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h1/ops-h1.c:377,24'
          Dst:             lws_header_table_attach
        - Src:             'lib/roles/h1/ops-h1.c:378,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h1/ops-h1.c:378,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:395,14'
          Dst:             lws_buflist_aware_read
        - Src:             'lib/roles/h1/ops-h1.c:398,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:400,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/h1/ops-h1.c:424,12'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h1/ops-h1.c:422,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h1/ops-h1.c:430,12'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h1/ops-h1.c:428,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h1/ops-h1.c:437,11'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h1/ops-h1.c:435,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h1/ops-h1.c:441,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:447,8'
          Dst:             lws_buflist_aware_finished_consuming
        - Src:             'lib/roles/h1/ops-h1.c:463,8'
          Dst:             lws_read_h2
        - Src:             'lib/roles/h1/ops-h1.c:466,8'
          Dst:             lws_read_h1
        - Src:             'lib/roles/h1/ops-h1.c:481,7'
          Dst:             lws_buflist_aware_finished_consuming
        - Src:             'lib/roles/h1/ops-h1.c:494,4'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/h1/ops-h1.c:523,6'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/h1/ops-h1.c:524,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:532,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:534,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h1/ops-h1.c:535,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/h1/ops-h1.c:536,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:550,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/h1/ops-h1.c:552,8'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/h1/ops-h1.c:553,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:559,7'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/h1/ops-h1.c:563,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:578,6'
          Dst:             lws_serve_http_file_fragment
        - Src:             'lib/roles/h1/ops-h1.c:587,2'
          Dst:             lws_close_free_wsi
    - functionName:    lws_read_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 328
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         123
      ICount:          730
      EdgeCount:       155
      CyclomaticComplexity: 34
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_close_free_wsi
        - lws_get_network_wsi
        - lws_handshake_server
        - lws_http_transaction_completed
        - lws_parse_ws
        - lws_set_timeout
        - lws_ws_handshake_client
        - lws_wsi_tag
        - lwsi_set_state
      functionUses:    5
      BranchProfiles:
        - Branch String:   'lib/roles/h1/ops-h1.c:50,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/h1/ops-h1.c:105,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h1/ops-h1.c:48,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:69,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:70,4'
          Dst:             __assert_fail
        - Src:             'lib/roles/h1/ops-h1.c:72,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:74,7'
          Dst:             lws_ws_handshake_client
        - Src:             'lib/roles/h1/ops-h1.c:78,7'
          Dst:             lws_handshake_server
        - Src:             'lib/roles/h1/ops-h1.c:128,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:166,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:177,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:182,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h1/ops-h1.c:185,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:189,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:190,6'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h1/ops-h1.c:200,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h1/ops-h1.c:217,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h1/ops-h1.c:230,10'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/h1/ops-h1.c:235,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h1/ops-h1.c:235,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:242,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:247,6'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h1/ops-h1.c:262,7'
          Dst:             lws_ws_handshake_client
        - Src:             'lib/roles/h1/ops-h1.c:270,7'
          Dst:             lws_parse_ws
        - Src:             'lib/roles/h1/ops-h1.c:271,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:280,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:290,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:299,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:324,3'
          Dst:             lws_close_free_wsi
    - functionName:    rops_pt_init_destroy_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1161
      functionLinenumberEnd: 1177
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rops_handle_POLLIN_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 597
      functionLinenumberEnd: 757
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          300
      EdgeCount:       67
      CyclomaticComplexity: 21
      functionsReached:
        - _lws_log
        - lws_buflist_total_len
        - lws_change_pollfd
        - lws_h1_server_socket_service
        - lws_handle_POLLOUT_event
        - lws_http_client_socket_service
        - lws_server_socket_service_ssl
        - lws_ssl_capable_read
        - lws_wsi_tag
        - user_callback_handle_rxflow
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h1/ops-h1.c:614,10'
          Dst:             lws_ssl_capable_read
        - Src:             'lib/roles/h1/ops-h1.c:670,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h1/ops-h1.c:670,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:674,8'
          Dst:             lws_buflist_total_len
        - Src:             'lib/roles/h1/ops-h1.c:681,8'
          Dst:             lws_h1_server_socket_service
        - Src:             'lib/roles/h1/ops-h1.c:694,8'
          Dst:             lws_server_socket_service_ssl
        - Src:             'lib/roles/h1/ops-h1.c:719,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/h1/ops-h1.c:727,7'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/h1/ops-h1.c:730,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:743,6'
          Dst:             lws_handle_POLLOUT_event
        - Src:             'lib/roles/h1/ops-h1.c:744,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:748,6'
          Dst:             lws_http_client_socket_service
    - functionName:    rops_handle_POLLOUT_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 761
      functionLinenumberEnd: 830
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          61
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rops_write_role_protocol_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 835
      functionLinenumberEnd: 912
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_issue_raw
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h1/ops-h1.c:905,6'
          Dst:             lws_issue_raw
    - functionName:    rops_alpn_negotiated_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 916
      functionLinenumberEnd: 931
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h1/ops-h1.c:917,2'
          Dst:             _lws_log
    - functionName:    rops_close_kill_connection_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1142
      functionLinenumberEnd: 1154
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rops_destroy_role_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 936
      functionLinenumberEnd: 965
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          100
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __lws_header_table_detach
        - _lws_log
        - lws_realloc
        - lws_wsi_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h1/ops-h1.c:941,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:942,2'
          Dst:             __lws_header_table_detach
        - Src:             'lib/roles/h1/ops-h1.c:948,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h1/ops-h1.c:948,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:963,2'
          Dst:             lws_realloc
    - functionName:    rops_adoption_bind_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 972
      functionLinenumberEnd: 1028
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          236
      EdgeCount:       47
      CyclomaticComplexity: 14
      functionsReached:
        - _lws_log
        - lws_header_table_attach
        - lws_role_call_alpn_negotiated
        - lws_role_transition
        - lws_set_timeout
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h1/ops-h1.c:980,8'
          Dst:             lws_header_table_attach
        - Src:             'lib/roles/h1/ops-h1.c:981,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:983,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:991,3'
          Dst:             lws_role_transition
        - Src:             'lib/roles/h1/ops-h1.c:1001,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:1003,3'
          Dst:             lws_role_call_alpn_negotiated
        - Src:             'lib/roles/h1/ops-h1.c:1007,3'
          Dst:             lws_role_transition
        - Src:             'lib/roles/h1/ops-h1.c:1024,2'
          Dst:             lws_set_timeout
    - functionName:    rops_client_bind_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1051
      functionLinenumberEnd: 1137
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         28
      ICount:          145
      EdgeCount:       38
      CyclomaticComplexity: 12
      functionsReached:
        - _lws_is_http_method
        - lws_create_client_ws_object
        - lws_ensure_user_space
        - lws_header_table_attach
        - lws_role_transition
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h1/ops-h1.c:1062,8'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/h1/ops-h1.c:1083,7'
          Dst:             lws_header_table_attach
        - Src:             'lib/roles/h1/ops-h1.c:1110,7'
          Dst:             lws_create_client_ws_object
        - Src:             'lib/roles/h1/ops-h1.c:1122,6'
          Dst:             _lws_is_http_method
        - Src:             'lib/roles/h1/ops-h1.c:1131,2'
          Dst:             lws_role_transition
    - functionName:    _lws_is_http_method
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1040
      functionLinenumberEnd: 1047
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          57
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - strcmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h1/ops-h1.c:1043,9'
          Dst:             strcmp
    - functionName:    lws_h2_client_stream_long_poll_rxonly
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2946
      functionLinenumberEnd: 2963
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_callback_on_writable
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:2960,2'
          Dst:             lws_callback_on_writable
    - functionName:    lws_read_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2869
      functionLinenumberEnd: 2942
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          116
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log
        - lws_close_free_wsi
        - lws_h2_parser
        - lws_rxflow_cache
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:2893,4'
          Dst:             lws_rxflow_cache
        - Src:             'lib/roles/h2/http2.c:2920,7'
          Dst:             lws_h2_parser
        - Src:             'lib/roles/h2/http2.c:2925,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2926,4'
          Dst:             lws_close_free_wsi
    - functionName:    lws_h2_parser
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2036
      functionLinenumberEnd: 2540
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         190
      ICount:          1576
      EdgeCount:       242
      CyclomaticComplexity: 54
      functionsReached:
        - _lws_log
        - lws_buflist_append_segment
        - lws_buflist_next_segment_len
        - lws_close_free_wsi
        - lws_h2_goaway
        - lws_h2_new_pps
        - lws_h2_parse_end_of_frame
        - lws_h2_parse_frame_header
        - lws_h2_settings
        - lws_h2_update_peer_txcredit
        - lws_h2_update_peer_txcredit_thresh
        - lws_hdr_total_length
        - lws_hpack_interpret
        - lws_pps_schedule
        - lws_read_h1
        - lws_set_timeout
        - lws_validity_confirmed
        - lws_wsi_keepalive_timeout_eff
        - lws_wsi_tag
        - lws_wsi_txc_describe
        - lwsi_set_state
        - user_callback_handle_rxflow
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/roles/h2/http2.c:2049,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/http2.c:2137,4'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/http2.c:2162,5'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/http2.c:2475,5'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:2057,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:2057,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2058,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:2059,4'
          Dst:             lws_validity_confirmed
        - Src:             'lib/roles/h2/http2.c:2068,10'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:2071,4'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:2103,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2113,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2121,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2129,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2145,5'
          Dst:             lws_h2_settings
        - Src:             'lib/roles/h2/http2.c:2154,9'
          Dst:             lws_hpack_interpret
        - Src:             'lib/roles/h2/http2.c:2155,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2205,7'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h2/http2.c:2203,6'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/http2.c:2211,9'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/h2/http2.c:2213,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2218,6'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:2219,6'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:2219,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2229,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2236,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2244,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2260,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2266,7'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:2266,7'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2272,7'
          Dst:             lws_wsi_txc_describe
        - Src:             'lib/roles/h2/http2.c:2275,10'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/h2/http2.c:2288,7'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2297,10'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/roles/h2/http2.c:2315,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2326,9'
          Dst:             lws_read_h1
        - Src:             'lib/roles/h2/http2.c:2334,57'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/h2/http2.c:2336,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2349,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2380,6'
          Dst:             lws_h2_update_peer_txcredit_thresh
        - Src:             'lib/roles/h2/http2.c:2391,6'
          Dst:             lws_h2_update_peer_txcredit
        - Src:             'lib/roles/h2/http2.c:2404,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2408,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2442,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2450,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2461,8'
          Dst:             lws_h2_parse_end_of_frame
        - Src:             'lib/roles/h2/http2.c:2507,8'
          Dst:             lws_h2_parse_frame_header
        - Src:             'lib/roles/h2/http2.c:2526,2'
          Dst:             lws_close_free_wsi
    - functionName:    lws_h2_new_pps
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_realloc
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:126,37'
          Dst:             lws_realloc
    - functionName:    lws_pps_schedule
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 430
      functionLinenumberEnd: 445
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          53
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - lws_callback_on_writable
        - lws_get_network_wsi
        - lws_realloc
        - lws_rx_flow_control
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:431,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:435,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:436,3'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/http2.c:442,2'
          Dst:             lws_rx_flow_control
        - Src:             'lib/roles/h2/http2.c:444,2'
          Dst:             lws_callback_on_writable
    - functionName:    lws_h2_goaway
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 449
      functionLinenumberEnd: 470
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          82
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lws_h2_new_pps
        - lws_pps_schedule
        - lws_strncpy
        - lws_wsi_tag
      functionUses:    58
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:456,8'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:460,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:460,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:464,2'
          Dst:             lws_strncpy
        - Src:             'lib/roles/h2/http2.c:465,2'
          Dst:             lws_pps_schedule
    - functionName:    lws_h2_settings
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 506
      functionLinenumberEnd: 611
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         55
      ICount:          366
      EdgeCount:       71
      CyclomaticComplexity: 18
      functionsReached:
        - _lws_log
        - lws_callback_on_writable
        - lws_get_network_wsi
        - lws_h2_dump_settings
        - lws_h2_goaway
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/roles/h2/http2.c:522,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:507,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:527,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:536,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:569,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:579,6'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:585,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:590,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:599,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:608,2'
          Dst:             lws_h2_dump_settings
    - functionName:    lws_h2_update_peer_txcredit_thresh
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_h2_update_peer_txcredit
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:210,9'
          Dst:             lws_h2_update_peer_txcredit
    - functionName:    lws_h2_update_peer_txcredit
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          146
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_get_network_wsi
        - lws_h2_new_pps
        - lws_pps_schedule
        - lws_wsi_txc_describe
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:156,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:159,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/h2/http2.c:167,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:170,8'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:178,2'
          Dst:             lws_wsi_txc_describe
        - Src:             'lib/roles/h2/http2.c:180,2'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:182,8'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:190,2'
          Dst:             lws_wsi_txc_describe
        - Src:             'lib/roles/h2/http2.c:192,2'
          Dst:             lws_pps_schedule
    - functionName:    lws_h2_parse_end_of_frame
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1462
      functionLinenumberEnd: 2015
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         238
      ICount:          1914
      EdgeCount:       317
      CyclomaticComplexity: 81
      functionsReached:
        - __assert_fail
        - __lws_wsi_server_new
        - _lws_log
        - _lws_log_cx
        - atoll
        - lws_callback_on_writable
        - lws_client_interpret_server_handshake
        - lws_get_opaque_user_data
        - lws_h2_goaway
        - lws_h2_new_pps
        - lws_h2_rst_stream
        - lws_h2_state
        - lws_h2_tx_cr_get
        - lws_hdr_copy
        - lws_hdr_extant
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_http_transaction_completed_client
        - lws_log_prepend_wsi
        - lws_pps_schedule
        - lws_realloc
        - lws_role_transition
        - lws_strncpy
        - lws_token_to_string
        - lws_validity_confirmed
        - lws_wsi_mux_apply_queue
        - lws_wsi_mux_from_id
        - lws_wsi_tag
        - lws_wsi_txc_check_skint
        - lws_wsi_txc_describe
        - lws_wsi_txc_report_manual_txcr_in
        - lwsi_set_state
        - lwsl_wsi_get_cx
        - strcasecmp
        - strncmp
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib/roles/h2/http2.c:1482,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/http2.c:1656,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/http2.c:1744,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:1472,15'
          Dst:             lws_wsi_mux_from_id
        - Src:             'lib/roles/h2/http2.c:1478,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1495,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1504,16'
          Dst:             __lws_wsi_server_new
        - Src:             'lib/roles/h2/http2.c:1513,4'
          Dst:             lws_wsi_mux_from_id
        - Src:             'lib/roles/h2/http2.c:1513,4'
          Dst:             __assert_fail
        - Src:             'lib/roles/h2/http2.c:1519,4'
          Dst:             lws_role_transition
        - Src:             'lib/roles/h2/http2.c:1546,45'
          Dst:             lws_get_opaque_user_data
        - Src:             'lib/roles/h2/http2.c:1561,5'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/http2.c:1571,4'
          Dst:             lws_strncpy
        - Src:             'lib/roles/h2/http2.c:1581,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1581,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1581,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1585,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1585,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1595,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1595,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1601,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:1606,11'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:1609,5'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:1610,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1616,4'
          Dst:             lws_wsi_mux_apply_queue
        - Src:             'lib/roles/h2/http2.c:1630,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1637,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1647,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1650,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1658,4'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1661,4'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1665,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1665,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1665,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1671,7'
          Dst:             lws_client_interpret_server_handshake
        - Src:             'lib/roles/h2/http2.c:1681,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1686,7'
          Dst:             lws_hdr_extant
        - Src:             'lib/roles/h2/http2.c:1687,23'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:1693,24'
          Dst:             atoll
        - Src:             'lib/roles/h2/http2.c:1701,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1711,9'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/h2/http2.c:1717,11'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:1723,9'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/h2/http2.c:1725,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1730,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1739,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1746,4'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1750,5'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1758,5'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1776,4'
          Dst:             lws_h2_rst_stream
        - Src:             'lib/roles/h2/http2.c:1779,8'
          Dst:             lws_http_transaction_completed_client
        - Src:             'lib/roles/h2/http2.c:1780,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1785,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1785,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1792,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:1793,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:1794,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:1795,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:1796,8'
          Dst:             lws_hdr_extant
        - Src:             'lib/roles/h2/http2.c:1797,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1802,7'
          Dst:             lws_hdr_extant
        - Src:             'lib/roles/h2/http2.c:1803,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:1806,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:1807,16'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:1807,8'
          Dst:             strncmp
        - Src:             'lib/roles/h2/http2.c:1809,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1819,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:1825,14'
          Dst:             strcasecmp
        - Src:             'lib/roles/h2/http2.c:1833,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1835,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:1836,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:1841,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1845,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:1850,4'
          Dst:             lws_h2_rst_stream
        - Src:             'lib/roles/h2/http2.c:1857,4'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1862,4'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1872,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1872,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1876,5'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1887,5'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1889,5'
          Dst:             lws_h2_rst_stream
        - Src:             'lib/roles/h2/http2.c:1892,9'
          Dst:             lws_http_transaction_completed_client
        - Src:             'lib/roles/h2/http2.c:1893,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1901,4'
          Dst:             lws_validity_confirmed
        - Src:             'lib/roles/h2/http2.c:1905,6'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:1909,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1912,4'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:1922,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1932,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1945,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1950,5'
          Dst:             lws_h2_rst_stream
        - Src:             'lib/roles/h2/http2.c:1954,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1960,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1967,3'
          Dst:             lws_wsi_txc_report_manual_txcr_in
        - Src:             'lib/roles/h2/http2.c:1970,3'
          Dst:             lws_wsi_txc_describe
        - Src:             'lib/roles/h2/http2.c:1983,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:1988,11'
          Dst:             lws_h2_tx_cr_get
        - Src:             'lib/roles/h2/http2.c:1987,8'
          Dst:             lws_wsi_txc_check_skint
        - Src:             'lib/roles/h2/http2.c:1993,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:1998,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/h2/http2.c:1998,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/h2/http2.c:1998,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/h2/http2.c:2005,3'
          Dst:             _lws_log
    - functionName:    lws_h2_parse_frame_header
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 965
      functionLinenumberEnd: 1427
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         219
      ICount:          1662
      EdgeCount:       298
      CyclomaticComplexity: 81
      functionsReached:
        - __assert_fail
        - __lws_wsi_server_new
        - _lws_log
        - _lws_log_cx
        - lws_close_free_wsi
        - lws_h2_goaway
        - lws_h2_new_pps
        - lws_h2_parse_end_of_frame
        - lws_h2_state
        - lws_h2_update_peer_txcredit
        - lws_header_table_attach
        - lws_log_prepend_wsi
        - lws_mux_mark_immortal
        - lws_pps_schedule
        - lws_set_timeout
        - lws_snprintf
        - lws_wsi_keepalive_timeout_eff
        - lws_wsi_mux_from_id
        - lws_wsi_tag
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/roles/h2/http2.c:1117,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:980,3'
          Dst:             lws_snprintf
        - Src:             'lib/roles/h2/http2.c:981,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:989,12'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h2/http2.c:999,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/http2.c:1003,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/http2.c:1007,15'
          Dst:             lws_wsi_mux_from_id
        - Src:             'lib/roles/h2/http2.c:1009,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1009,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1009,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1017,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1032,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1034,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1040,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1040,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1052,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1054,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/h2/http2.c:1054,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/h2/http2.c:1054,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/h2/http2.c:1061,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1065,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1076,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1076,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1078,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1086,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1086,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1096,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1104,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1112,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1119,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1121,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1122,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1125,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1130,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1134,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1139,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1144,4'
          Dst:             lws_h2_parse_end_of_frame
        - Src:             'lib/roles/h2/http2.c:1149,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1151,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1156,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1162,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1163,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1167,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1176,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1181,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1185,3'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1189,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1192,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1199,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1215,11'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:1218,5'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:1226,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1233,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1238,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1244,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1252,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1258,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1267,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1270,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1277,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1285,17'
          Dst:             lws_wsi_mux_from_id
        - Src:             'lib/roles/h2/http2.c:1286,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1286,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1286,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1301,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1315,16'
          Dst:             __lws_wsi_server_new
        - Src:             'lib/roles/h2/http2.c:1322,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1333,8'
          Dst:             lws_h2_update_peer_txcredit
        - Src:             'lib/roles/h2/http2.c:1343,8'
          Dst:             lws_header_table_attach
        - Src:             'lib/roles/h2/http2.c:1344,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1361,5'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/http2.c:1362,4'
          Dst:             __assert_fail
        - Src:             'lib/roles/h2/http2.c:1379,4'
          Dst:             lws_mux_mark_immortal
        - Src:             'lib/roles/h2/http2.c:1380,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1380,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1386,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1393,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1393,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1397,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1406,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1410,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1414,4'
          Dst:             lws_h2_parse_end_of_frame
        - Src:             'lib/roles/h2/http2.c:1416,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1419,3'
          Dst:             _lws_log
    - functionName:    lws_h2_state
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - lws_wsi_tag
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:145,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:145,2'
          Dst:             _lws_log
    - functionName:    __lws_wsi_server_new
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 218
      functionLinenumberEnd: 323
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          365
      EdgeCount:       50
      CyclomaticComplexity: 14
      functionsReached:
        - __lws_vhost_unbind_wsi
        - _lws_log
        - lws_adopt_ss_server_accept
        - lws_create_new_server_wsi
        - lws_ensure_user_space
        - lws_get_network_wsi
        - lws_h2_goaway
        - lws_realloc
        - lws_snprintf
        - lws_validity_confirmed
        - lws_vh_tag
        - lws_wsi_mux_insert
        - lws_wsi_tag
        - lws_wsi_txc_describe
        - lwsi_set_role
        - lwsi_set_state
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:219,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:238,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:240,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:247,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:262,2'
          Dst:             lws_snprintf
        - Src:             'lib/roles/h2/http2.c:263,8'
          Dst:             lws_create_new_server_wsi
        - Src:             'lib/roles/h2/http2.c:265,3'
          Dst:             lws_vh_tag
        - Src:             'lib/roles/h2/http2.c:265,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:277,2'
          Dst:             lws_wsi_mux_insert
        - Src:             'lib/roles/h2/http2.c:288,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:289,2'
          Dst:             lwsi_set_role
        - Src:             'lib/roles/h2/http2.c:292,6'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/h2/http2.c:296,6'
          Dst:             lws_adopt_ss_server_accept
        - Src:             'lib/roles/h2/http2.c:301,2'
          Dst:             lws_validity_confirmed
        - Src:             'lib/roles/h2/http2.c:303,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:303,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:303,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:306,2'
          Dst:             lws_wsi_txc_describe
        - Src:             'lib/roles/h2/http2.c:307,2'
          Dst:             lws_wsi_txc_describe
        - Src:             'lib/roles/h2/http2.c:317,3'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/http2.c:319,2'
          Dst:             __lws_vhost_unbind_wsi
        - Src:             'lib/roles/h2/http2.c:320,2'
          Dst:             lws_realloc
    - functionName:    lws_h2_rst_stream
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 474
      functionLinenumberEnd: 501
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          110
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log
        - lws_get_network_wsi
        - lws_h2_new_pps
        - lws_h2_state
        - lws_pps_schedule
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:475,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:485,8'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:489,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:495,2'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:498,2'
          Dst:             lws_h2_state
    - functionName:    lws_h2_tx_cr_get
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 633
      functionLinenumberEnd: 650
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          100
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log
        - lws_get_network_wsi
        - lws_wsi_tag
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:635,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:640,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:640,2'
          Dst:             _lws_log
    - functionName:    lws_h2_dump_settings
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_h2_ws_handshake
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2731
      functionLinenumberEnd: 2864
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         51
      ICount:          408
      EdgeCount:       71
      CyclomaticComplexity: 22
      functionsReached:
        - _lws_log
        - lws_add_http_header_by_token
        - lws_add_http_header_status
        - lws_finalize_http_header
        - lws_find_mount
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_mux_mark_immortal
        - lws_ss_event_helper
        - lws_ss_tag
        - lws_validity_confirmed
        - lws_write
        - lws_wsi_tag
        - lwsi_set_state
        - strlen
        - user_callback_handle_rxflow
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:2739,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/h2/http2.c:2742,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2746,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2748,16'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2750,17'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2750,10'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:2747,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2759,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2777,4'
          Dst:             lws_ss_tag
        - Src:             'lib/roles/h2/http2.c:2777,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:2777,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2788,4'
          Dst:             lws_ss_event_helper
        - Src:             'lib/roles/h2/http2.c:2790,4'
          Dst:             lws_mux_mark_immortal
        - Src:             'lib/roles/h2/http2.c:2795,10'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:2792,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2803,10'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:2801,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2824,7'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/h2/http2.c:2832,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/h2/http2.c:2837,6'
          Dst:             lws_write
        - Src:             'lib/roles/h2/http2.c:2839,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2849,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:2852,12'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2853,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2854,8'
          Dst:             lws_find_mount
        - Src:             'lib/roles/h2/http2.c:2861,2'
          Dst:             lws_validity_confirmed
    - functionName:    lws_h2_client_handshake
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2545
      functionLinenumberEnd: 2725
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         81
      ICount:          586
      EdgeCount:       112
      CyclomaticComplexity: 33
      functionsReached:
        - _lws_log
        - lws_add_http_header_by_token
        - lws_callback_on_writable
        - lws_client_http_body_pending
        - lws_cookie_send_cookies
        - lws_finalize_http_header
        - lws_get_network_wsi
        - lws_h2_state
        - lws_h2_update_peer_txcredit
        - lws_has_buffered_out
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_http_multipart_headers
        - lws_write
        - lws_wsi_tag
        - lwsi_set_state
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:2548,15'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2549,14'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2550,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:2563,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2574,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:2574,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2578,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2594,10'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:2591,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2597,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2604,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2610,13'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:2621,11'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2626,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2627,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2629,12'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:2644,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2650,8'
          Dst:             lws_http_multipart_headers
        - Src:             'lib/roles/h2/http2.c:2657,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2661,3'
          Dst:             lws_client_http_body_pending
        - Src:             'lib/roles/h2/http2.c:2668,3'
          Dst:             lws_cookie_send_cookies
        - Src:             'lib/roles/h2/http2.c:2676,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/h2/http2.c:2684,42'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/h2/http2.c:2690,6'
          Dst:             lws_write
        - Src:             'lib/roles/h2/http2.c:2693,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2710,6'
          Dst:             lws_h2_update_peer_txcredit
        - Src:             'lib/roles/h2/http2.c:2713,2'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:2714,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:2717,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:2722,2'
          Dst:             _lws_log
    - functionName:    lws_h2_set_bin
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 709
      functionLinenumberEnd: 716
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          84
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_h2_do_pps_send
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 721
      functionLinenumberEnd: 954
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         76
      ICount:          828
      EdgeCount:       99
      CyclomaticComplexity: 25
      functionsReached:
        - __lws_wsi_server_new
        - _lws_log
        - lws_close_free_wsi
        - lws_get_network_wsi
        - lws_h2_frame_write
        - lws_h2_set_bin
        - lws_http_action
        - lws_is_ssl
        - lws_realloc
        - lws_wsi_mux_from_id
        - lws_wsi_tag
        - lwsi_set_state
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/roles/h2/http2.c:746,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:744,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:744,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:756,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:760,5'
          Dst:             lws_h2_set_bin
        - Src:             'lib/roles/h2/http2.c:763,7'
          Dst:             lws_h2_frame_write
        - Src:             'lib/roles/h2/http2.c:767,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:781,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:784,7'
          Dst:             lws_h2_frame_write
        - Src:             'lib/roles/h2/http2.c:788,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:795,7'
          Dst:             lws_h2_frame_write
        - Src:             'lib/roles/h2/http2.c:799,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:805,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:809,19'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:809,8'
          Dst:             lws_is_ssl
        - Src:             'lib/roles/h2/http2.c:824,16'
          Dst:             __lws_wsi_server_new
        - Src:             'lib/roles/h2/http2.c:836,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:840,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:840,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:846,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:849,8'
          Dst:             lws_http_action
        - Src:             'lib/roles/h2/http2.c:863,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:865,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:870,7'
          Dst:             lws_h2_frame_write
        - Src:             'lib/roles/h2/http2.c:879,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:893,7'
          Dst:             lws_h2_frame_write
        - Src:             'lib/roles/h2/http2.c:898,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:904,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:909,7'
          Dst:             lws_h2_frame_write
        - Src:             'lib/roles/h2/http2.c:912,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:915,10'
          Dst:             lws_wsi_mux_from_id
        - Src:             'lib/roles/h2/http2.c:917,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:917,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:917,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:921,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/http2.c:926,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:933,7'
          Dst:             lws_h2_frame_write
        - Src:             'lib/roles/h2/http2.c:937,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:946,2'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/http2.c:951,2'
          Dst:             lws_realloc
    - functionName:    lws_h2_frame_write
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 665
      functionLinenumberEnd: 706
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          181
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log
        - lws_get_network_wsi
        - lws_h2_tx_cr_consume
        - lws_issue_raw
        - lws_wsi_tag
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:666,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:683,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:683,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:683,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:691,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:691,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:694,5'
          Dst:             lws_h2_tx_cr_consume
        - Src:             'lib/roles/h2/http2.c:697,6'
          Dst:             lws_issue_raw
    - functionName:    lws_h2_tx_cr_consume
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 654
      functionLinenumberEnd: 661
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_get_network_wsi
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:655,21'
          Dst:             lws_get_network_wsi
    - functionName:    lws_h2_issue_preface
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 390
      functionLinenumberEnd: 426
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          101
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log
        - lws_h2_new_pps
        - lws_issue_raw
        - lws_pps_schedule
        - lws_role_transition
        - lws_wsi_tag
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:395,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:402,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:402,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:404,45'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:404,6'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/h2/http2.c:405,8'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:410,2'
          Dst:             lws_role_transition
        - Src:             'lib/roles/h2/http2.c:419,8'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:422,2'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:423,2'
          Dst:             _lws_log
    - functionName:    lws_wsi_h2_adopt
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 327
      functionLinenumberEnd: 385
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          179
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
        - lws_callback_on_writable
        - lws_ensure_user_space
        - lws_get_network_wsi
        - lws_realloc
        - lws_role_transition
        - lws_wsi_mux_insert
        - lws_wsi_tag
        - lws_wsi_txc_describe
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:328,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:333,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:353,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:353,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:356,2'
          Dst:             lws_wsi_mux_insert
        - Src:             'lib/roles/h2/http2.c:362,2'
          Dst:             lws_wsi_txc_describe
        - Src:             'lib/roles/h2/http2.c:364,6'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/h2/http2.c:367,2'
          Dst:             lws_role_transition
        - Src:             'lib/roles/h2/http2.c:370,2'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:380,3'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/http2.c:382,2'
          Dst:             lws_realloc
    - functionName:    lws_h2_get_peer_txcredit_estimate
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_wsi_txc_describe
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:200,2'
          Dst:             lws_wsi_txc_describe
    - functionName:    lws_h2_init
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          24
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_add_http2_header_status
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1490
      functionLinenumberEnd: 1503
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          53
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_add_http2_header_by_token
        - sprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:1496,6'
          Dst:             sprintf
        - Src:             'lib/roles/h2/hpack.c:1497,6'
          Dst:             lws_add_http2_header_by_token
    - functionName:    lws_add_http2_header_by_token
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1478
      functionLinenumberEnd: 1486
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_add_http2_header_by_name
        - lws_token_to_string
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:1481,9'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/h2/hpack.c:1485,9'
          Dst:             lws_add_http2_header_by_name
    - functionName:    lws_add_http2_header_by_name
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1420
      functionLinenumberEnd: 1473
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          270
      EdgeCount:       44
      CyclomaticComplexity: 13
      functionsReached:
        - _lws_log
        - lws_h2_num
        - lws_h2_num_start
        - lws_strncpy
        - strlen
        - strncmp
        - tolower
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:1427,3'
          Dst:             lws_strncpy
        - Src:             'lib/roles/h2/hpack.c:1430,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1433,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1437,13'
          Dst:             strlen
        - Src:             'lib/roles/h2/hpack.c:1442,29'
          Dst:             strncmp
        - Src:             'lib/roles/h2/hpack.c:1444,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1454,37'
          Dst:             lws_h2_num_start
        - Src:             'lib/roles/h2/hpack.c:1455,6'
          Dst:             lws_h2_num
        - Src:             'lib/roles/h2/hpack.c:1462,24'
          Dst:             tolower
        - Src:             'lib/roles/h2/hpack.c:1464,37'
          Dst:             lws_h2_num_start
        - Src:             'lib/roles/h2/hpack.c:1465,6'
          Dst:             lws_h2_num
    - functionName:    lws_h2_num_start
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1385
      functionLinenumberEnd: 1392
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_h2_num
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1397
      functionLinenumberEnd: 1415
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          92
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dump_header
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 313
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          72
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
        - lws_hdr_copy
        - lws_token_to_string
        - strcpy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:319,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:325,8'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/h2/hpack.c:327,3'
          Dst:             strcpy
        - Src:             'lib/roles/h2/hpack.c:331,6'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/h2/hpack.c:332,2'
          Dst:             _lws_log
    - functionName:    lws_frag_end
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 284
      functionLinenumberEnd: 294
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          56
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - lws_frag_append
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:285,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:286,6'
          Dst:             lws_frag_append
    - functionName:    lws_frag_append
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 280
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          49
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dynamic_token_insert
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 488
      functionLinenumberEnd: 565
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         52
      ICount:          475
      EdgeCount:       69
      CyclomaticComplexity: 19
      functionsReached:
        - _lws_log
        - lws_dynamic_free
        - lws_get_network_wsi
        - lws_h2_dynamic_table_dump
        - lws_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:493,8'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/hpack.c:499,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:503,2'
          Dst:             lws_h2_dynamic_table_dump
        - Src:             'lib/roles/h2/hpack.c:508,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:510,3'
          Dst:             lws_dynamic_free
        - Src:             'lib/roles/h2/hpack.c:527,3'
          Dst:             lws_dynamic_free
        - Src:             'lib/roles/h2/hpack.c:537,4'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/hpack.c:539,5'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/hpack.c:555,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:562,2'
          Dst:             lws_h2_dynamic_table_dump
    - functionName:    lws_h2_dynamic_table_dump
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 422
      functionLinenumberEnd: 454
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dynamic_free
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 459
      functionLinenumberEnd: 469
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          102
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_log
        - lws_realloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:460,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:463,2'
          Dst:             lws_realloc
    - functionName:    huftable_decode
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 197
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          57
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_frag_start
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 207
      functionLinenumberEnd: 271
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          289
      EdgeCount:       48
      CyclomaticComplexity: 15
      functionsReached:
        - _lws_log
        - lws_get_network_wsi
        - lws_h2_goaway
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:211,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:217,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:221,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:226,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:237,18'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/hpack.c:237,4'
          Dst:             lws_h2_goaway
    - functionName:    lws_hpack_use_idx_hdr
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 709
      functionLinenumberEnd: 758
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          201
      EdgeCount:       50
      CyclomaticComplexity: 15
      functionsReached:
        - _lws_log
        - lws_dump_header
        - lws_frag_append
        - lws_frag_end
        - lws_frag_start
        - lws_token_from_index
        - lws_token_to_string
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:713,12'
          Dst:             lws_token_from_index
        - Src:             'lib/roles/h2/hpack.c:716,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:721,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:729,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:732,3'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/h2/hpack.c:732,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:744,6'
          Dst:             lws_frag_start
        - Src:             'lib/roles/h2/hpack.c:749,8'
          Dst:             lws_frag_append
        - Src:             'lib/roles/h2/hpack.c:752,6'
          Dst:             lws_frag_end
        - Src:             'lib/roles/h2/hpack.c:755,2'
          Dst:             lws_dump_header
    - functionName:    lws_token_from_index
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 361
      functionLinenumberEnd: 418
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          290
      EdgeCount:       52
      CyclomaticComplexity: 16
      functionsReached:
        - _lws_log
        - lws_get_network_wsi
        - lws_h2_goaway
        - strlen
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:368,8'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/hpack.c:380,16'
          Dst:             strlen
        - Src:             'lib/roles/h2/hpack.c:389,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:394,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:396,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:406,2'
          Dst:             _lws_log
    - functionName:    lws_hpack_handle_pseudo_rules
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 804
      functionLinenumberEnd: 827
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          105
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log
        - lws_h2_goaway
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:811,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:818,3'
          Dst:             lws_h2_goaway
    - functionName:    lws_hpack_interpret
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 830
      functionLinenumberEnd: 1379
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         249
      ICount:          1849
      EdgeCount:       328
      CyclomaticComplexity: 81
      functionsReached:
        - _lws_log
        - huftable_decode
        - lws_dump_header
        - lws_dynamic_token_insert
        - lws_frag_append
        - lws_frag_end
        - lws_frag_start
        - lws_get_network_wsi
        - lws_h2_dynamic_table_dump
        - lws_h2_goaway
        - lws_hpack_dynamic_size
        - lws_hpack_handle_pseudo_rules
        - lws_hpack_use_idx_hdr
        - lws_parse
        - lws_parse_urldecode
        - lws_token_from_index
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/roles/h2/hpack.c:858,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/hpack.c:938,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/hpack.c:1017,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/hpack.c:1094,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/hpack.c:1176,7'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/hpack.c:1292,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:831,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/hpack.c:844,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:873,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:874,4'
          Dst:             lws_h2_dynamic_table_dump
        - Src:             'lib/roles/h2/hpack.c:884,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:889,8'
          Dst:             lws_token_from_index
        - Src:             'lib/roles/h2/hpack.c:891,8'
          Dst:             lws_hpack_handle_pseudo_rules
        - Src:             'lib/roles/h2/hpack.c:894,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:895,8'
          Dst:             lws_hpack_use_idx_hdr
        - Src:             'lib/roles/h2/hpack.c:896,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:910,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:919,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:932,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:947,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:954,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:959,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:963,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:966,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:984,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:994,8'
          Dst:             lws_hpack_dynamic_size
        - Src:             'lib/roles/h2/hpack.c:1002,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1003,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1015,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1019,8'
          Dst:             lws_hpack_use_idx_hdr
        - Src:             'lib/roles/h2/hpack.c:1021,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1029,8'
          Dst:             lws_hpack_dynamic_size
        - Src:             'lib/roles/h2/hpack.c:1037,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1061,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1085,8'
          Dst:             lws_token_from_index
        - Src:             'lib/roles/h2/hpack.c:1087,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1107,8'
          Dst:             lws_frag_start
        - Src:             'lib/roles/h2/hpack.c:1108,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1118,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1119,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1140,32'
          Dst:             huftable_decode
        - Src:             'lib/roles/h2/hpack.c:1144,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1160,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1176,15'
          Dst:             lws_parse_urldecode
        - Src:             'lib/roles/h2/hpack.c:1184,8'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1193,10'
          Dst:             lws_frag_append
        - Src:             'lib/roles/h2/hpack.c:1194,7'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1216,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1219,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1226,9'
          Dst:             lws_parse
        - Src:             'lib/roles/h2/hpack.c:1243,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1245,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1255,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1262,9'
          Dst:             lws_parse
        - Src:             'lib/roles/h2/hpack.c:1299,8'
          Dst:             lws_token_from_index
        - Src:             'lib/roles/h2/hpack.c:1320,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1325,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1339,8'
          Dst:             lws_dynamic_token_insert
        - Src:             'lib/roles/h2/hpack.c:1342,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1351,49'
          Dst:             lws_frag_end
        - Src:             'lib/roles/h2/hpack.c:1363,9'
          Dst:             lws_token_from_index
        - Src:             'lib/roles/h2/hpack.c:1368,4'
          Dst:             lws_dump_header
        - Src:             'lib/roles/h2/hpack.c:1370,7'
          Dst:             lws_hpack_handle_pseudo_rules
    - functionName:    lws_hpack_dynamic_size
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 569
      functionLinenumberEnd: 684
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         63
      ICount:          478
      EdgeCount:       84
      CyclomaticComplexity: 23
      functionsReached:
        - _lws_log
        - lws_dynamic_free
        - lws_get_network_wsi
        - lws_h2_dynamic_table_dump
        - lws_h2_goaway
        - lws_hpack_destroy_dynamic_header
        - lws_realloc
        - lws_zalloc
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:591,9'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/hpack.c:596,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:602,3'
          Dst:             lws_hpack_destroy_dynamic_header
        - Src:             'lib/roles/h2/hpack.c:606,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:611,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:618,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:641,8'
          Dst:             lws_zalloc
        - Src:             'lib/roles/h2/hpack.c:650,3'
          Dst:             lws_dynamic_free
        - Src:             'lib/roles/h2/hpack.c:665,3'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/hpack.c:676,2'
          Dst:             lws_h2_dynamic_table_dump
        - Src:             'lib/roles/h2/hpack.c:681,2'
          Dst:             _lws_log
    - functionName:    lws_hpack_destroy_dynamic_header
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 688
      functionLinenumberEnd: 705
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          107
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:702,4'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/hpack.c:704,2'
          Dst:             lws_realloc
    - functionName:    lws_hdr_extant
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 298
      functionLinenumberEnd: 310
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          61
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_h2_bind_for_post_before_action
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 865
      functionLinenumberEnd: 995
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         85
      ICount:          540
      EdgeCount:       113
      CyclomaticComplexity: 30
      functionsReached:
        - _lws_log
        - lws_bind_protocol
        - lws_buflist_next_segment_len
        - lws_buflist_use_segment
        - lws_check_basic_auth
        - lws_dll2_remove
        - lws_find_mount
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_http_get_uri_and_method
        - lws_http_transaction_completed
        - lws_return_http_status
        - lws_unauthorised_basic_auth
        - lws_vhost_name_to_protocol
        - lwsi_set_state
        - strcmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/roles/h2/ops-h2.c:922,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/ops-h2.c:873,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:874,12'
          Dst:             strcmp
        - Src:             'lib/roles/h2/ops-h2.c:878,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/ops-h2.c:879,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:890,5'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:891,5'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/ops-h2.c:889,8'
          Dst:             lws_find_mount
        - Src:             'lib/roles/h2/ops-h2.c:893,2'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:893,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:911,8'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/h2/ops-h2.c:913,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:917,7'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/h2/ops-h2.c:922,11'
          Dst:             lws_check_basic_auth
        - Src:             'lib/roles/h2/ops-h2.c:928,11'
          Dst:             lws_unauthorised_basic_auth
        - Src:             'lib/roles/h2/ops-h2.c:930,4'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/h2/ops-h2.c:931,11'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/h2/ops-h2.c:936,12'
          Dst:             lws_http_get_uri_and_method
        - Src:             'lib/roles/h2/ops-h2.c:952,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:955,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/ops-h2.c:966,17'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/h2/ops-h2.c:974,3'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/roles/h2/ops-h2.c:981,3'
          Dst:             lws_dll2_remove
    - functionName:    rops_issue_keepalive_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1423
      functionLinenumberEnd: 1457
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          69
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - _lws_validity_confirmed_role
        - lws_get_network_wsi
        - lws_h2_new_pps
        - lws_now_usecs
        - lws_pps_schedule
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/ops-h2.c:1424,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1426,26'
          Dst:             lws_now_usecs
        - Src:             'lib/roles/h2/ops-h2.c:1429,3'
          Dst:             _lws_validity_confirmed_role
        - Src:             'lib/roles/h2/ops-h2.c:1439,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/h2/ops-h2.c:1441,8'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/ops-h2.c:1454,2'
          Dst:             lws_pps_schedule
    - functionName:    rops_destroy_role_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 703
      functionLinenumberEnd: 735
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          148
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - __lws_header_table_detach
        - _lws_log
        - lws_hpack_destroy_dynamic_header
        - lws_realloc
        - lws_wsi_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/ops-h2.c:708,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:708,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:709,2'
          Dst:             __lws_header_table_detach
        - Src:             'lib/roles/h2/ops-h2.c:715,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:715,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:729,3'
          Dst:             lws_hpack_destroy_dynamic_header
        - Src:             'lib/roles/h2/ops-h2.c:732,4'
          Dst:             lws_realloc
    - functionName:    rops_close_kill_connection_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 740
      functionLinenumberEnd: 809
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         45
      ICount:          297
      EdgeCount:       60
      CyclomaticComplexity: 17
      functionsReached:
        - _lws_log
        - lws_h2_rst_stream
        - lws_realloc
        - lws_wsi_mux_close_children
        - lws_wsi_mux_dump_children
        - lws_wsi_mux_sibling_disconnect
        - lws_wsi_tag
        - lwsl_visible
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/ops-h2.c:756,3'
          Dst:             lws_h2_rst_stream
        - Src:             'lib/roles/h2/ops-h2.c:762,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:762,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:762,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:763,2'
          Dst:             lws_wsi_mux_dump_children
        - Src:             'lib/roles/h2/ops-h2.c:770,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:770,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:770,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:773,30'
          Dst:             lwsl_visible
        - Src:             'lib/roles/h2/ops-h2.c:774,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:774,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:775,4'
          Dst:             lws_wsi_mux_dump_children
        - Src:             'lib/roles/h2/ops-h2.c:777,3'
          Dst:             lws_wsi_mux_close_children
        - Src:             'lib/roles/h2/ops-h2.c:786,4'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/ops-h2.c:804,3'
          Dst:             lws_wsi_mux_sibling_disconnect
        - Src:             'lib/roles/h2/ops-h2.c:806,4'
          Dst:             lws_realloc
    - functionName:    rops_alpn_negotiated_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1379
      functionLinenumberEnd: 1419
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          140
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log
        - lws_h2_init
        - lws_hpack_dynamic_size
        - lws_role_transition
        - lws_wsi_tag
        - lws_zalloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/ops-h2.c:1382,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1385,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1396,2'
          Dst:             lws_role_transition
        - Src:             'lib/roles/h2/ops-h2.c:1403,17'
          Dst:             lws_zalloc
        - Src:             'lib/roles/h2/ops-h2.c:1407,2'
          Dst:             lws_h2_init
        - Src:             'lib/roles/h2/ops-h2.c:1411,6'
          Dst:             lws_hpack_dynamic_size
        - Src:             'lib/roles/h2/ops-h2.c:1416,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1416,2'
          Dst:             _lws_log
    - functionName:    rops_check_upgrades_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 585
      functionLinenumberEnd: 619
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          112
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - _lws_log
        - lws_hdr_simple_ptr
        - lws_mux_mark_immortal
        - lws_process_ws_upgrade
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/ops-h2.c:595,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:597,35'
          Dst:             strcmp
        - Src:             'lib/roles/h2/ops-h2.c:600,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:601,12'
          Dst:             strcmp
        - Src:             'lib/roles/h2/ops-h2.c:604,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:605,2'
          Dst:             lws_mux_mark_immortal
        - Src:             'lib/roles/h2/ops-h2.c:610,6'
          Dst:             lws_process_ws_upgrade
        - Src:             'lib/roles/h2/ops-h2.c:613,2'
          Dst:             _lws_log
    - functionName:    rops_pt_init_destroy_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 641
      functionLinenumberEnd: 661
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          31
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rops_init_vhost_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 625
      functionLinenumberEnd: 634
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          60
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rops_handle_POLLIN_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 417
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         158
      ICount:          961
      EdgeCount:       215
      CyclomaticComplexity: 59
      functionsReached:
        - _lws_log
        - lws_buflist_append_segment
        - lws_buflist_next_segment_len
        - lws_buflist_use_segment
        - lws_change_pollfd
        - lws_dll2_add_head
        - lws_dll2_is_detached
        - lws_dll2_remove
        - lws_get_network_wsi
        - lws_handle_POLLOUT_event
        - lws_has_buffered_out
        - lws_http_client_socket_service
        - lws_read_h1
        - lws_read_h2
        - lws_rx_flow_control
        - lws_set_timeout
        - lws_ssl_capable_read
        - lws_ssl_pending
        - lws_wsi_keepalive_timeout_eff
        - lws_wsi_tag
        - lwsi_set_state
        - user_callback_handle_rxflow
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/roles/h2/ops-h2.c:250,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/ops-h2.c:116,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:125,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:143,7'
          Dst:             lws_handle_POLLOUT_event
        - Src:             'lib/roles/h2/ops-h2.c:144,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:148,7'
          Dst:             lws_http_client_socket_service
        - Src:             'lib/roles/h2/ops-h2.c:159,6'
          Dst:             lws_handle_POLLOUT_event
        - Src:             'lib/roles/h2/ops-h2.c:161,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/ops-h2.c:176,3'
          Dst:             lws_rx_flow_control
        - Src:             'lib/roles/h2/ops-h2.c:184,10'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/ops-h2.c:185,15'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/h2/ops-h2.c:187,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:197,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:206,18'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/h2/ops-h2.c:209,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:215,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:215,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:217,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/h2/ops-h2.c:222,7'
          Dst:             lws_ssl_pending
        - Src:             'lib/roles/h2/ops-h2.c:240,13'
          Dst:             lws_ssl_capable_read
        - Src:             'lib/roles/h2/ops-h2.c:252,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:255,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:259,12'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h2/ops-h2.c:257,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/ops-h2.c:262,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:266,12'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h2/ops-h2.c:264,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/ops-h2.c:269,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:282,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:289,11'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h2/ops-h2.c:287,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/ops-h2.c:295,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:317,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/h2/ops-h2.c:323,7'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/h2/ops-h2.c:327,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:344,8'
          Dst:             lws_read_h2
        - Src:             'lib/roles/h2/ops-h2.c:346,8'
          Dst:             lws_read_h1
        - Src:             'lib/roles/h2/ops-h2.c:362,13'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/roles/h2/ops-h2.c:363,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:366,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:366,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:368,5'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/h2/ops-h2.c:374,9'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/roles/h2/ops-h2.c:380,6'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:380,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:382,10'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/roles/h2/ops-h2.c:383,7'
          Dst:             lws_dll2_add_head
        - Src:             'lib/roles/h2/ops-h2.c:410,26'
          Dst:             lws_ssl_pending
    - functionName:    rops_handle_POLLOUT_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 421
      functionLinenumberEnd: 465
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          135
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log
        - lws_h2_do_pps_send
        - lws_rx_flow_control
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/ops-h2.c:439,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:444,7'
          Dst:             lws_h2_do_pps_send
        - Src:             'lib/roles/h2/ops-h2.c:452,3'
          Dst:             lws_rx_flow_control
    - functionName:    rops_perform_user_POLLOUT_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1013
      functionLinenumberEnd: 1366
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         128
      ICount:          939
      EdgeCount:       177
      CyclomaticComplexity: 51
      functionsReached:
        - _lws_log
        - lws_callback_as_writeable
        - lws_callback_on_writable
        - lws_close_free_wsi
        - lws_dll2_add_head
        - lws_get_network_wsi
        - lws_h2_bind_for_post_before_action
        - lws_h2_client_handshake
        - lws_h2_state
        - lws_h2_tx_cr_get
        - lws_has_buffered_out
        - lws_http_action
        - lws_http_transaction_completed
        - lws_issue_raw
        - lws_mux_mark_immortal
        - lws_realloc
        - lws_send_pipe_choked
        - lws_serve_http_file_fragment
        - lws_set_timeout
        - lws_write
        - lws_wsi_mux_action_pending_writeable_reqs
        - lws_wsi_mux_dump_waiting_children
        - lws_wsi_mux_move_child_to_tail
        - lws_wsi_tag
        - lws_wsi_txc_check_skint
        - lwsi_set_state
        - rops_write_role_protocol_h2
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/ops-h2.c:1020,8'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1028,2'
          Dst:             lws_wsi_mux_dump_waiting_children
        - Src:             'lib/roles/h2/ops-h2.c:1046,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1046,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1048,7'
          Dst:             lws_wsi_mux_move_child_to_tail
        - Src:             'lib/roles/h2/ops-h2.c:1055,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1055,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1061,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/h2/ops-h2.c:1062,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1063,8'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/h2/ops-h2.c:1064,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1065,5'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1070,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/ops-h2.c:1102,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1116,14'
          Dst:             strlen
        - Src:             'lib/roles/h2/ops-h2.c:1114,8'
          Dst:             lws_write
        - Src:             'lib/roles/h2/ops-h2.c:1118,4'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/ops-h2.c:1119,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1127,8'
          Dst:             lws_h2_client_handshake
        - Src:             'lib/roles/h2/ops-h2.c:1144,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/ops-h2.c:1150,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1150,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1152,5'
          Dst:             lws_dll2_add_head
        - Src:             'lib/roles/h2/ops-h2.c:1157,8'
          Dst:             lws_h2_bind_for_post_before_action
        - Src:             'lib/roles/h2/ops-h2.c:1172,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1173,8'
          Dst:             lws_http_action
        - Src:             'lib/roles/h2/ops-h2.c:1175,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1177,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1189,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1190,5'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1206,11'
          Dst:             lws_h2_tx_cr_get
        - Src:             'lib/roles/h2/ops-h2.c:1205,8'
          Dst:             lws_wsi_txc_check_skint
        - Src:             'lib/roles/h2/ops-h2.c:1219,8'
          Dst:             lws_serve_http_file_fragment
        - Src:             'lib/roles/h2/ops-h2.c:1220,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1227,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1227,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1229,5'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1235,9'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/h2/ops-h2.c:1238,5'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/ops-h2.c:1253,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1255,8'
          Dst:             lws_write
        - Src:             'lib/roles/h2/ops-h2.c:1259,5'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/ops-h2.c:1260,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/ops-h2.c:1261,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1273,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1273,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1279,8'
          Dst:             lws_write
        - Src:             'lib/roles/h2/ops-h2.c:1284,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/ops-h2.c:1297,8'
          Dst:             lws_write
        - Src:             'lib/roles/h2/ops-h2.c:1306,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1308,5'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/ops-h2.c:1309,5'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1315,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/ops-h2.c:1335,9'
          Dst:             rops_write_role_protocol_h2
        - Src:             'lib/roles/h2/ops-h2.c:1337,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1337,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1339,5'
          Dst:             lws_mux_mark_immortal
        - Src:             'lib/roles/h2/ops-h2.c:1341,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1341,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1346,7'
          Dst:             lws_callback_as_writeable
        - Src:             'lib/roles/h2/ops-h2.c:1347,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1349,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1354,5'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/ops-h2.c:1358,29'
          Dst:             lws_send_pipe_choked
        - Src:             'lib/roles/h2/ops-h2.c:1362,6'
          Dst:             lws_wsi_mux_action_pending_writeable_reqs
    - functionName:    rops_callback_on_writable_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 814
      functionLinenumberEnd: 860
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          137
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log
        - lws_get_network_wsi
        - lws_h2_tx_cr_get
        - lws_wsi_mux_mark_parents_needing_writeable
        - lws_wsi_txc_check_skint
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/ops-h2.c:828,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:835,41'
          Dst:             lws_h2_tx_cr_get
        - Src:             'lib/roles/h2/ops-h2.c:835,6'
          Dst:             lws_wsi_txc_check_skint
        - Src:             'lib/roles/h2/ops-h2.c:840,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:845,16'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/ops-h2.c:847,12'
          Dst:             lws_wsi_mux_mark_parents_needing_writeable
    - functionName:    rops_tx_credit_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 667
      functionLinenumberEnd: 699
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          101
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - lws_get_network_wsi
        - lws_h2_tx_cr_get
        - lws_h2_update_peer_txcredit
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/ops-h2.c:668,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/ops-h2.c:677,11'
          Dst:             lws_h2_update_peer_txcredit
        - Src:             'lib/roles/h2/ops-h2.c:692,10'
          Dst:             lws_h2_tx_cr_get
    - functionName:    rops_write_role_protocol_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 470
      functionLinenumberEnd: 580
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         77
      ICount:          465
      EdgeCount:       105
      CyclomaticComplexity: 30
      functionsReached:
        - _lws_log
        - lws_h2_frame_write
        - lws_wsi_tag
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/ops-h2.c:494,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:557,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:557,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:561,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:568,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:568,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:573,6'
          Dst:             lws_h2_frame_write
    - functionName:    rops_encapsulation_parent_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1370
      functionLinenumberEnd: 1375
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          28
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_0405_frame_mask_generate
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 846
      functionLinenumberEnd: 861
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - lws_get_context
        - lws_get_random
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/ops-ws.c:850,21'
          Dst:             lws_get_context
        - Src:             'lib/roles/ws/ops-ws.c:850,6'
          Dst:             lws_get_random
        - Src:             'lib/roles/ws/ops-ws.c:852,3'
          Dst:             _lws_log
    - functionName:    lws_is_ws_with_ext
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 995
      functionLinenumberEnd: 997
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rops_issue_keepalive_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2154
      functionLinenumberEnd: 2170
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          56
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log_cx
        - _lws_validity_confirmed_role
        - lws_callback_on_writable
        - lws_log_prepend_wsi
        - lws_now_usecs
        - lwsl_wsi_get_cx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/ops-ws.c:2159,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:2159,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:2159,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:2160,3'
          Dst:             _lws_validity_confirmed_role
        - Src:             'lib/roles/ws/ops-ws.c:2162,18'
          Dst:             lws_now_usecs
        - Src:             'lib/roles/ws/ops-ws.c:2165,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:2165,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:2165,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:2167,3'
          Dst:             lws_callback_on_writable
    - functionName:    rops_destroy_role_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2142
      functionLinenumberEnd: 2149
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          25
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - lws_realloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/ops-ws.c:2147,2'
          Dst:             lws_realloc
    - functionName:    rops_close_kill_connection_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2036
      functionLinenumberEnd: 2048
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rops_close_role_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1616
      functionLinenumberEnd: 1663
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          58
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - lws_realloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/ops-ws.c:1652,2'
          Dst:             lws_realloc
    - functionName:    rops_close_via_role_protocol_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1585
      functionLinenumberEnd: 1612
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          122
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - __lws_set_timeout
        - _lws_log
        - lws_callback_on_writable
        - lwsi_set_state
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/ops-ws.c:1594,2'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1606,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/ops-ws.c:1607,2'
          Dst:             __lws_set_timeout
        - Src:             'lib/roles/ws/ops-ws.c:1609,2'
          Dst:             lws_callback_on_writable
    - functionName:    rops_write_role_protocol_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1668
      functionLinenumberEnd: 2032
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         113
      ICount:          1031
      EdgeCount:       137
      CyclomaticComplexity: 26
      functionsReached:
        - __assert_fail
        - _lws_log
        - _lws_log_cx
        - lws_0405_frame_mask_generate
        - lws_get_network_wsi
        - lws_issue_raw
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/roles/ws/ops-ws.c:1756,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/ops-ws.c:1841,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/ops-ws.c:1849,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/ops-ws.c:1975,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/ws/ops-ws.c:1729,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1837,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1853,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:1853,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:1853,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:1854,5'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/ops-ws.c:1863,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:1863,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:1863,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:1864,5'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/ops-ws.c:1873,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:1873,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:1873,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:1874,5'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/ops-ws.c:1877,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:1877,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:1877,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:1878,5'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/ops-ws.c:1895,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1946,8'
          Dst:             lws_0405_frame_mask_generate
        - Src:             'lib/roles/ws/ops-ws.c:1947,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1965,23'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/ws/ops-ws.c:1967,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/ops-ws.c:2004,8'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/ws/ops-ws.c:2031,9'
          Dst:             lws_issue_raw
    - functionName:    rops_callback_on_writable_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2052
      functionLinenumberEnd: 2068
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          84
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/ops-ws.c:2060,3'
          Dst:             __assert_fail
    - functionName:    rops_handle_POLLIN_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1006
      functionLinenumberEnd: 1333
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         138
      ICount:          809
      EdgeCount:       187
      CyclomaticComplexity: 51
      functionsReached:
        - __lws_change_pollfd
        - __lws_rx_flow_control
        - _lws_log
        - lws_buflist_aware_finished_consuming
        - lws_buflist_next_segment_len
        - lws_buflist_total_len
        - lws_handle_POLLOUT_event
        - lws_header_table_detach
        - lws_http_client_socket_service
        - lws_is_ws_with_ext
        - lws_read_h1
        - lws_read_h2
        - lws_rx_flow_control
        - lws_ssl_capable_read
        - lws_ssl_pending
        - lwsi_set_state
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/roles/ws/ops-ws.c:1196,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/ws/ops-ws.c:1013,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1037,7'
          Dst:             lws_handle_POLLOUT_event
        - Src:             'lib/roles/ws/ops-ws.c:1038,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1042,7'
          Dst:             lws_http_client_socket_service
        - Src:             'lib/roles/ws/ops-ws.c:1053,6'
          Dst:             lws_handle_POLLOUT_event
        - Src:             'lib/roles/ws/ops-ws.c:1055,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/ops-ws.c:1067,3'
          Dst:             lws_rx_flow_control
        - Src:             'lib/roles/ws/ops-ws.c:1093,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1095,7'
          Dst:             __lws_change_pollfd
        - Src:             'lib/roles/ws/ops-ws.c:1136,18'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/ws/ops-ws.c:1139,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1148,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1184,14'
          Dst:             lws_ssl_capable_read
        - Src:             'lib/roles/ws/ops-ws.c:1198,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1203,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1206,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1243,9'
          Dst:             lws_read_h2
        - Src:             'lib/roles/ws/ops-ws.c:1247,9'
          Dst:             lws_read_h1
        - Src:             'lib/roles/ws/ops-ws.c:1265,8'
          Dst:             lws_buflist_aware_finished_consuming
        - Src:             'lib/roles/ws/ops-ws.c:1279,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1280,3'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/ws/ops-ws.c:1283,26'
          Dst:             lws_ssl_pending
        - Src:             'lib/roles/ws/ops-ws.c:1285,18'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/ws/ops-ws.c:1290,6'
          Dst:             lws_buflist_total_len
        - Src:             'lib/roles/ws/ops-ws.c:1295,7'
          Dst:             lws_is_ws_with_ext
        - Src:             'lib/roles/ws/ops-ws.c:1321,7'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/ws/ops-ws.c:1322,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1327,3'
          Dst:             __lws_rx_flow_control
    - functionName:    rops_init_vhost_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2073
      functionLinenumberEnd: 2114
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rops_destroy_vhost_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2119
      functionLinenumberEnd: 2127
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rops_service_flag_pending_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1554
      functionLinenumberEnd: 1579
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rops_handle_POLLOUT_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1338
      functionLinenumberEnd: 1550
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         40
      ICount:          353
      EdgeCount:       55
      CyclomaticComplexity: 17
      functionsReached:
        - _lws_log
        - lws_set_timeout
        - lws_write
        - lws_wsi_tag
        - lwsi_set_state
        - lwsl_hexdump_level
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/ops-ws.c:1357,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1358,3'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/ws/ops-ws.c:1361,7'
          Dst:             lws_write
        - Src:             'lib/roles/ws/ops-ws.c:1366,5'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/ops-ws.c:1367,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/ws/ops-ws.c:1369,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1374,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/ops-ws.c:1394,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/ws/ops-ws.c:1394,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1398,7'
          Dst:             lws_write
        - Src:             'lib/roles/ws/ops-ws.c:1418,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/ws/ops-ws.c:1418,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1424,7'
          Dst:             lws_write
    - functionName:    lws_get_close_payload
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 968
      functionLinenumberEnd: 969
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_close_length
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 962
      functionLinenumberEnd: 963
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_opcode
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 956
      functionLinenumberEnd: 957
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_reserved_bits
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 950
      functionLinenumberEnd: 951
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_is_first_fragment
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 944
      functionLinenumberEnd: 945
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_is_final_fragment
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 930
      functionLinenumberEnd: 938
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ws_sending_multifragment
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 924
      functionLinenumberEnd: 925
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          33
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_server_init_wsi_for_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 865
      functionLinenumberEnd: 919
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          128
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log
        - lws_realloc
        - lws_validity_confirmed
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/ops-ws.c:883,21'
          Dst:             lws_realloc
        - Src:             'lib/roles/ws/ops-ws.c:885,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:915,2'
          Dst:             lws_validity_confirmed
        - Src:             'lib/roles/ws/ops-ws.c:916,2'
          Dst:             _lws_log
    - functionName:    lws_remove_wsi_from_draining_ext_list
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 819
      functionLinenumberEnd: 842
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_add_wsi_to_draining_ext_list
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 802
      functionLinenumberEnd: 815
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_frame_is_binary
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 796
      functionLinenumberEnd: 797
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_remaining_packet_payload
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 791
      functionLinenumberEnd: 792
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_close_reason
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 975
      functionLinenumberEnd: 991
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          114
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/ops-ws.c:979,2'
          Dst:             __assert_fail
    - functionName:    lws_ws_rx_sm
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 786
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         272
      ICount:          2195
      EdgeCount:       346
      CyclomaticComplexity: 76
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_callback_on_writable
        - lws_check_utf8
        - lws_close_reason
        - lws_partial_buffered
        - lws_validity_confirmed
        - lwsi_set_state
        - lwsl_hexdump
        - lwsl_hexdump_level
        - user_callback_handle_rxflow
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/roles/ws/ops-ws.c:76,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/ops-ws.c:91,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/ops-ws.c:176,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/ops-ws.c:270,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/ops-ws.c:466,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/ws/ops-ws.c:100,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:171,4'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/ops-ws.c:186,5'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/ops-ws.c:207,5'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/ops-ws.c:231,4'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/ops-ws.c:233,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:240,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:241,4'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/ops-ws.c:260,4'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/ops-ws.c:322,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:414,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/ops-ws.c:417,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:433,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:464,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:478,8'
          Dst:             lws_check_utf8
        - Src:             'lib/roles/ws/ops-ws.c:488,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:495,8'
          Dst:             lws_partial_buffered
        - Src:             'lib/roles/ws/ops-ws.c:502,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:524,8'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/ws/ops-ws.c:532,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:533,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/ops-ws.c:539,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:547,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:553,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:566,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/ws/ops-ws.c:573,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:574,4'
          Dst:             lwsl_hexdump
        - Src:             'lib/roles/ws/ops-ws.c:577,4'
          Dst:             lws_validity_confirmed
        - Src:             'lib/roles/ws/ops-ws.c:589,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:665,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:689,9'
          Dst:             lws_check_utf8
        - Src:             'lib/roles/ws/ops-ws.c:692,6'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/ops-ws.c:706,6'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:707,6'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/ops-ws.c:711,6'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:712,6'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/ws/ops-ws.c:743,7'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:745,13'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/ws/ops-ws.c:779,2'
          Dst:             _lws_log
    - functionName:    strtolower
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/client-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - tolower
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/client-ws.c:39,14'
          Dst:             tolower
    - functionName:    lws_client_ws_upgrade
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/client-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 231
      functionLinenumberEnd: 670
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         115
      ICount:          882
      EdgeCount:       154
      CyclomaticComplexity: 41
      functionsReached:
        - _lws_log_cx
        - lws_ensure_user_space
        - lws_hdr_copy
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_header_table_detach
        - lws_log_prepend_wsi
        - lws_realloc
        - lws_role_transition
        - lws_same_vh_protocol_insert
        - lws_set_timeout
        - lws_tokenize
        - lws_tokenize_init
        - lws_validity_confirmed
        - lwsl_wsi_get_cx
        - strcmp
        - strlen
        - strncasecmp
        - strncmp
        - strtolower
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/roles/ws/client-ws.c:299,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/ws/client-ws.c:250,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:250,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:250,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:256,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:256,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:256,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:263,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:263,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:263,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:269,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/client-ws.c:270,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:270,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:270,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:275,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/client-ws.c:277,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:277,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:277,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:281,2'
          Dst:             strtolower
        - Src:             'lib/roles/ws/client-ws.c:282,6'
          Dst:             strcmp
        - Src:             'lib/roles/ws/client-ws.c:283,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:283,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:283,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:290,2'
          Dst:             lws_tokenize_init
        - Src:             'lib/roles/ws/client-ws.c:292,6'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/ws/client-ws.c:298,7'
          Dst:             lws_tokenize
        - Src:             'lib/roles/ws/client-ws.c:301,9'
          Dst:             strncasecmp
        - Src:             'lib/roles/ws/client-ws.c:310,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:310,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:310,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:316,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/client-ws.c:319,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:319,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:319,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:321,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:321,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:321,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:329,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/client-ws.c:331,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:331,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:331,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:349,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/client-ws.c:350,13'
          Dst:             strlen
        - Src:             'lib/roles/ws/client-ws.c:353,8'
          Dst:             strncmp
        - Src:             'lib/roles/ws/client-ws.c:365,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:365,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:365,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:387,7'
          Dst:             strcmp
        - Src:             'lib/roles/ws/client-ws.c:397,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:397,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:397,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:406,27'
          Dst:             strcmp
        - Src:             'lib/roles/ws/client-ws.c:416,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:416,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:416,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:419,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:419,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:419,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:425,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:425,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:425,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:437,2'
          Dst:             lws_same_vh_protocol_insert
        - Src:             'lib/roles/ws/client-ws.c:598,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/client-ws.c:599,6'
          Dst:             strcmp
        - Src:             'lib/roles/ws/client-ws.c:600,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:600,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:600,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:607,6'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/ws/client-ws.c:608,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:608,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:608,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:625,2'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/ws/client-ws.c:628,2'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/ws/client-ws.c:630,2'
          Dst:             lws_role_transition
        - Src:             'lib/roles/ws/client-ws.c:631,2'
          Dst:             lws_validity_confirmed
        - Src:             'lib/roles/ws/client-ws.c:644,21'
          Dst:             lws_realloc
        - Src:             'lib/roles/ws/client-ws.c:647,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:647,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:647,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:653,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:653,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:653,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_generate_client_ws_handshake
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/client-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 227
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          195
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log_cx
        - lws_SHA1
        - lws_b64_encode_string
        - lws_get_random
        - lws_hdr_simple_ptr
        - lws_log_prepend_wsi
        - lws_snprintf
        - lws_strncpy
        - lwsl_wsi_get_cx
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/client-ws.c:139,6'
          Dst:             lws_get_random
        - Src:             'lib/roles/ws/client-ws.c:140,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:140,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:140,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:146,2'
          Dst:             lws_b64_encode_string
        - Src:             'lib/roles/ws/client-ws.c:151,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/ws/client-ws.c:156,36'
          Dst:             strlen
        - Src:             'lib/roles/ws/client-ws.c:159,2'
          Dst:             lws_strncpy
        - Src:             'lib/roles/ws/client-ws.c:160,7'
          Dst:             strlen
        - Src:             'lib/roles/ws/client-ws.c:161,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/ws/client-ws.c:162,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/client-ws.c:165,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/client-ws.c:163,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/ws/client-ws.c:207,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/ws/client-ws.c:215,6'
          Dst:             strlen
        - Src:             'lib/roles/ws/client-ws.c:220,2'
          Dst:             lws_SHA1
        - Src:             'lib/roles/ws/client-ws.c:222,2'
          Dst:             lws_b64_encode_string
    - functionName:    lws_ws_handshake_client
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/client-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          153
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lws_rxflow_cache
        - lws_ws_client_rx_parser_block
        - lwsl_wsi_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/client-ws.c:92,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:92,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:92,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:95,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:95,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:95,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:96,7'
          Dst:             lws_rxflow_cache
        - Src:             'lib/roles/ws/client-ws.c:97,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:97,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:97,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:114,7'
          Dst:             lws_ws_client_rx_parser_block
        - Src:             'lib/roles/ws/client-ws.c:116,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:116,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:116,4'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_create_client_ws_object
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/client-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          112
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lws_zalloc
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/client-ws.c:52,12'
          Dst:             lws_zalloc
        - Src:             'lib/roles/ws/client-ws.c:54,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:54,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:54,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    _lws_ws_client_rx_payload_passthrough
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/client-parser-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          200
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - lws_check_utf8
        - lws_close_reason
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/client-parser-ws.c:66,8'
          Dst:             lws_check_utf8
        - Src:             'lib/roles/ws/client-parser-ws.c:69,5'
          Dst:             lws_close_reason
    - functionName:    lws_ws_client_rx_sm
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/client-parser-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 834
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         239
      ICount:          2135
      EdgeCount:       300
      CyclomaticComplexity: 63
      functionsReached:
        - __assert_fail
        - __lws_change_pollfd
        - _lws_log_cx
        - lws_callback_on_writable
        - lws_check_utf8
        - lws_close_reason
        - lws_log_prepend_wsi
        - lws_set_timeout
        - lws_validity_confirmed
        - lwsi_set_state
        - lwsl_hexdump_level_cx
        - lwsl_wsi_get_cx
        - user_callback_handle_rxflow
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/roles/ws/client-parser-ws.c:196,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/client-parser-ws.c:201,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/client-parser-ws.c:205,4'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/client-parser-ws.c:302,4'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/client-parser-ws.c:325,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/client-parser-ws.c:525,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/ws/client-parser-ws.c:239,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:239,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:239,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:264,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:264,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:264,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:277,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:277,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:277,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:281,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:281,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:281,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:287,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:287,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:287,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:296,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:296,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:296,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:313,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:313,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:313,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:378,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:378,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:378,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:479,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/client-parser-ws.c:497,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:497,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:497,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:515,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:515,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:515,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:531,8'
          Dst:             lws_check_utf8
        - Src:             'lib/roles/ws/client-parser-ws.c:541,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:541,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:541,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:545,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:545,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:545,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:559,8'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/ws/client-parser-ws.c:571,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:571,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:571,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:572,4'
          Dst:             __lws_change_pollfd
        - Src:             'lib/roles/ws/client-parser-ws.c:573,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/ws/client-parser-ws.c:576,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/client-parser-ws.c:577,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/ws/client-parser-ws.c:582,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:582,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:582,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:594,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:594,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:594,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:600,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:600,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:600,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:613,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/ws/client-parser-ws.c:620,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:620,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:620,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:621,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:621,4'
          Dst:             lwsl_hexdump_level_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:621,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:624,4'
          Dst:             lws_validity_confirmed
        - Src:             'lib/roles/ws/client-parser-ws.c:636,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:636,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:636,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:666,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:666,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:666,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:694,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:694,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:694,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:716,9'
          Dst:             lws_check_utf8
        - Src:             'lib/roles/ws/client-parser-ws.c:719,6'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/client-parser-ws.c:733,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:733,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:733,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:734,6'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/client-parser-ws.c:738,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:738,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:738,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:739,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:739,6'
          Dst:             lwsl_hexdump_level_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:739,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:759,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:759,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:759,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:795,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:795,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:795,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:813,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:813,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:813,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:820,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:820,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:820,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:826,2'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/client-parser-ws.c:830,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:830,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:830,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_ws_client_rx_parser_block
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/client-parser-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          238
      EdgeCount:       46
      CyclomaticComplexity: 14
      functionsReached:
        - _lws_ws_client_rx_payload_passthrough
        - lws_close_reason
        - lws_ws_client_rx_sm
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/client-parser-ws.c:116,10'
          Dst:             lws_ws_client_rx_sm
        - Src:             'lib/roles/ws/client-parser-ws.c:137,10'
          Dst:             _lws_ws_client_rx_payload_passthrough
        - Src:             'lib/roles/ws/client-parser-ws.c:155,5'
          Dst:             lws_close_reason
    - functionName:    lws_ws_frame_rest_is_payload
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/server-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 822
      functionLinenumberEnd: 1002
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         55
      ICount:          508
      EdgeCount:       74
      CyclomaticComplexity: 21
      functionsReached:
        - _lws_log
        - lws_check_utf8
        - lws_close_reason
        - lwsl_hexdump_level
        - user_callback_handle_rxflow
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/server-ws.c:891,2'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:962,7'
          Dst:             lws_check_utf8
        - Src:             'lib/roles/ws/server-ws.c:965,4'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/server-ws.c:973,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:974,4'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/server-ws.c:978,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:979,4'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/ws/server-ws.c:986,7'
          Dst:             user_callback_handle_rxflow
    - functionName:    lws_parse_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/server-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1007
      functionLinenumberEnd: 1116
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          243
      EdgeCount:       50
      CyclomaticComplexity: 14
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_rxflow_cache
        - lws_ws_frame_rest_is_payload
        - lws_ws_rx_sm
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/server-ws.c:1012,2'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:1023,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:1034,8'
          Dst:             lws_rxflow_cache
        - Src:             'lib/roles/ws/server-ws.c:1042,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:1069,8'
          Dst:             lws_ws_frame_rest_is_payload
        - Src:             'lib/roles/ws/server-ws.c:1070,4'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/server-ws.c:1078,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:1086,9'
          Dst:             lws_ws_rx_sm
        - Src:             'lib/roles/ws/server-ws.c:1099,9'
          Dst:             lws_ws_rx_sm
        - Src:             'lib/roles/ws/server-ws.c:1104,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:1113,2'
          Dst:             _lws_log
    - functionName:    lws_process_ws_upgrade
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/server-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 453
      functionLinenumberEnd: 648
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         56
      ICount:          324
      EdgeCount:       69
      CyclomaticComplexity: 15
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - lws_bind_protocol
        - lws_hdr_copy
        - lws_log_prepend_wsi
        - lws_process_ws_upgrade2
        - lws_tokenize
        - lws_tokenize_cstr
        - lws_tokenize_init
        - lws_vhost_name_to_protocol
        - lwsl_wsi_get_cx
        - strncasecmp
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/roles/ws/server-ws.c:485,4'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/server-ws.c:609,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/ws/server-ws.c:461,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:474,3'
          Dst:             lws_tokenize_init
        - Src:             'lib/roles/ws/server-ws.c:478,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/ws/server-ws.c:484,8'
          Dst:             lws_tokenize
        - Src:             'lib/roles/ws/server-ws.c:487,10'
          Dst:             strncasecmp
        - Src:             'lib/roles/ws/server-ws.c:496,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:541,2'
          Dst:             lws_tokenize_init
        - Src:             'lib/roles/ws/server-ws.c:545,6'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/ws/server-ws.c:547,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:564,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:570,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:572,3'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/ws/server-ws.c:594,11'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/ws/server-ws.c:597,5'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/ws/server-ws.c:608,7'
          Dst:             lws_tokenize
        - Src:             'lib/roles/ws/server-ws.c:612,8'
          Dst:             lws_tokenize_cstr
        - Src:             'lib/roles/ws/server-ws.c:613,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:617,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:618,11'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/ws/server-ws.c:621,5'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/ws/server-ws.c:631,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:640,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/server-ws.c:640,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/server-ws.c:640,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/server-ws.c:647,9'
          Dst:             lws_process_ws_upgrade2
    - functionName:    lws_process_ws_upgrade2
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/server-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 270
      functionLinenumberEnd: 449
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         46
      ICount:          347
      EdgeCount:       57
      CyclomaticComplexity: 13
      functionsReached:
        - _lws_log
        - atoi
        - handshake_0405
        - lws_check_basic_auth
        - lws_ensure_user_space
        - lws_get_peer_simple
        - lws_h2_ws_handshake
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_header_table_detach
        - lws_http_transaction_completed
        - lws_pvo_get_str
        - lws_return_http_status
        - lws_role_transition
        - lws_server_init_wsi_for_ws
        - lws_ss_event_helper
        - lws_ss_tag
        - lws_unauthorised_basic_auth
        - lws_vhost_protocol_options
        - lws_wsi_tag
        - lws_zalloc
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/roles/ws/server-ws.c:290,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/server-ws.c:387,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/ws/server-ws.c:285,9'
          Dst:             lws_vhost_protocol_options
        - Src:             'lib/roles/ws/server-ws.c:287,7'
          Dst:             lws_pvo_get_str
        - Src:             'lib/roles/ws/server-ws.c:289,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:290,11'
          Dst:             lws_check_basic_auth
        - Src:             'lib/roles/ws/server-ws.c:296,11'
          Dst:             lws_unauthorised_basic_auth
        - Src:             'lib/roles/ws/server-ws.c:298,4'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/ws/server-ws.c:299,11'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/ws/server-ws.c:320,3'
          Dst:             lws_role_transition
        - Src:             'lib/roles/ws/server-ws.c:330,4'
          Dst:             lws_ss_tag
        - Src:             'lib/roles/ws/server-ws.c:330,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:340,10'
          Dst:             lws_ss_event_helper
        - Src:             'lib/roles/ws/server-ws.c:350,12'
          Dst:             lws_zalloc
        - Src:             'lib/roles/ws/server-ws.c:352,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:356,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/server-ws.c:358,16'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/server-ws.c:358,11'
          Dst:             atoi
        - Src:             'lib/roles/ws/server-ws.c:361,6'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/ws/server-ws.c:362,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:373,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/server-ws.c:376,3'
          Dst:             lws_get_peer_simple
        - Src:             'lib/roles/ws/server-ws.c:376,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:389,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:397,8'
          Dst:             lws_h2_ws_handshake
        - Src:             'lib/roles/ws/server-ws.c:398,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:401,4'
          Dst:             lws_role_transition
        - Src:             'lib/roles/ws/server-ws.c:409,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:410,8'
          Dst:             handshake_0405
        - Src:             'lib/roles/ws/server-ws.c:411,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:418,6'
          Dst:             lws_server_init_wsi_for_ws
        - Src:             'lib/roles/ws/server-ws.c:419,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:422,2'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:445,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/ws/server-ws.c:445,2'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:446,2'
          Dst:             lws_header_table_detach
    - functionName:    handshake_0405
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/server-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 652
      functionLinenumberEnd: 811
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         41
      ICount:          383
      EdgeCount:       57
      CyclomaticComplexity: 18
      functionsReached:
        - _lws_log
        - lws_SHA1
        - lws_b64_encode_string
        - lws_ensure_user_space
        - lws_find_mount
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_snprintf
        - lws_write
        - lwsi_set_state
        - sprintf
        - strcpy
        - user_callback_handle_rxflow
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/server-ws.c:660,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/server-ws.c:661,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/server-ws.c:662,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:667,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/server-ws.c:669,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:679,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/server-ws.c:677,6'
          Dst:             sprintf
        - Src:             'lib/roles/ws/server-ws.c:681,2'
          Dst:             lws_SHA1
        - Src:             'lib/roles/ws/server-ws.c:683,15'
          Dst:             lws_b64_encode_string
        - Src:             'lib/roles/ws/server-ws.c:686,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:691,6'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/ws/server-ws.c:701,2'
          Dst:             strcpy
        - Src:             'lib/roles/ws/server-ws.c:705,2'
          Dst:             strcpy
        - Src:             'lib/roles/ws/server-ws.c:710,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/server-ws.c:742,3'
          Dst:             strcpy
        - Src:             'lib/roles/ws/server-ws.c:743,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/ws/server-ws.c:746,8'
          Dst:             strcpy
        - Src:             'lib/roles/ws/server-ws.c:764,6'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/ws/server-ws.c:773,2'
          Dst:             strcpy
        - Src:             'lib/roles/ws/server-ws.c:777,2'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:782,6'
          Dst:             lws_write
        - Src:             'lib/roles/ws/server-ws.c:785,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:791,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/server-ws.c:796,4'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/server-ws.c:797,17'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/server-ws.c:799,4'
          Dst:             lws_find_mount
    - functionName:    lws_raw_skt_connect
      functionSourceFile: '/src/libwebsockets/lib/roles/raw-skt/ops-raw-skt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          152
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - lws_client_create_tls
        - lws_inform_client_conn_fail
        - lws_set_timeout
        - lws_ssl_client_connect2
        - lwsi_set_state
        - strlen
        - user_callback_handle_rxflow
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/roles/raw-skt/ops-raw-skt.c:37,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:37,10'
          Dst:             lws_client_create_tls
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:42,49'
          Dst:             strlen
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:42,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:51,7'
          Dst:             lws_ssl_client_connect2
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:54,11'
          Dst:             strlen
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:53,4'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:64,7'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:68,4'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:73,2'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:74,2'
          Dst:             lwsi_set_state
    - functionName:    rops_client_bind_raw_skt
      functionSourceFile: '/src/libwebsockets/lib/roles/raw-skt/ops-raw-skt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 329
      functionLinenumberEnd: 349
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          86
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - lws_ensure_user_space
        - lws_role_transition
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:335,8'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:344,6'
          Dst:             strcmp
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:345,3'
          Dst:             lws_role_transition
    - functionName:    rops_handle_POLLIN_raw_skt
      functionSourceFile: '/src/libwebsockets/lib/roles/raw-skt/ops-raw-skt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 286
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         74
      ICount:          483
      EdgeCount:       96
      CyclomaticComplexity: 24
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - lws_buflist_aware_finished_consuming
        - lws_buflist_aware_read
        - lws_change_pollfd
        - lws_client_connect_3_connect
        - lws_close_free_wsi
        - lws_has_buffered_out
        - lws_issue_raw
        - lws_log_prepend_wsi
        - lws_raw_skt_connect
        - lws_server_socket_service_ssl
        - lwsl_wsi_get_cx
        - user_callback_handle_rxflow
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/roles/raw-skt/ops-raw-skt.c:132,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/raw-skt/ops-raw-skt.c:183,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:95,6'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:100,7'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:114,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:114,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:114,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:117,8'
          Dst:             lws_server_socket_service_ssl
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:130,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:130,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:130,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:143,8'
          Dst:             lws_raw_skt_connect
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:182,15'
          Dst:             lws_buflist_aware_read
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:187,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:187,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:187,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:189,9'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:214,8'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:222,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:222,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:222,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:226,8'
          Dst:             lws_buflist_aware_finished_consuming
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:246,11'
          Dst:             lws_client_connect_3_connect
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:249,10'
          Dst:             lws_raw_skt_connect
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:258,6'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:264,6'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:268,3'
          Dst:             _lws_log
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:283,2'
          Dst:             lws_close_free_wsi
    - functionName:    rops_adoption_bind_raw_skt
      functionSourceFile: '/src/libwebsockets/lib/roles/raw-skt/ops-raw-skt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 290
      functionLinenumberEnd: 323
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          144
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - lws_bind_protocol
        - lws_realloc
        - lws_role_transition
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:304,14'
          Dst:             lws_realloc
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:311,2'
          Dst:             lws_role_transition
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:315,3'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:318,3'
          Dst:             lws_bind_protocol
    - functionName:    rops_adoption_bind_raw_file
      functionSourceFile: '/src/libwebsockets/lib/roles/raw-file/ops-raw-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          102
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - lws_role_transition
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/raw-file/ops-raw-file.c:67,2'
          Dst:             lws_role_transition
    - functionName:    rops_handle_POLLIN_raw_file
      functionSourceFile: '/src/libwebsockets/lib/roles/raw-file/ops-raw-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          132
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - _lws_log_cx
        - lws_callback_as_writeable
        - lws_change_pollfd
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
        - user_callback_handle_rxflow
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/raw-file/ops-raw-file.c:34,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/raw-file/ops-raw-file.c:35,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/raw-file/ops-raw-file.c:35,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/raw-file/ops-raw-file.c:35,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/raw-file/ops-raw-file.c:38,7'
          Dst:             lws_callback_as_writeable
        - Src:             'lib/roles/raw-file/ops-raw-file.c:44,7'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/raw-file/ops-raw-file.c:47,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/raw-file/ops-raw-file.c:47,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/raw-file/ops-raw-file.c:47,4'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_accept_pause_cb
      functionSourceFile: '/src/libwebsockets/lib/roles/listen/ops-listen.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 34
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log_cx
        - lws_change_pollfd
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/listen/ops-listen.c:32,6'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/listen/ops-listen.c:33,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/listen/ops-listen.c:33,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/listen/ops-listen.c:33,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    rops_handle_POLLIN_listen
      functionSourceFile: '/src/libwebsockets/lib/roles/listen/ops-listen.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         58
      ICount:          404
      EdgeCount:       79
      CyclomaticComplexity: 23
      functionsReached:
        - __errno_location
        - _lws_log
        - _lws_log_cx
        - accept
        - close
        - lws_accept_pause_cb
        - lws_adopt_descriptor_vhost
        - lws_change_pollfd
        - lws_log_prepend_wsi
        - lws_plat_set_socket_options
        - lws_poll_listen_fd
        - lws_sul_schedule
        - lwsl_wsi_get_cx
        - ntohs
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/listen/ops-listen.c:101,20'
          Dst:             accept
        - Src:             'lib/roles/listen/ops-listen.c:113,12'
          Dst:             __errno_location
        - Src:             'lib/roles/listen/ops-listen.c:119,4'
          Dst:             _lws_log
        - Src:             'lib/roles/listen/ops-listen.c:132,9'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/listen/ops-listen.c:133,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/listen/ops-listen.c:133,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/listen/ops-listen.c:133,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/listen/ops-listen.c:135,5'
          Dst:             lws_sul_schedule
        - Src:             'lib/roles/listen/ops-listen.c:135,5'
          Dst:             lws_accept_pause_cb
        - Src:             'lib/roles/listen/ops-listen.c:145,4'
          Dst:             close
        - Src:             'lib/roles/listen/ops-listen.c:150,3'
          Dst:             lws_plat_set_socket_options
        - Src:             'lib/roles/listen/ops-listen.c:153,3'
          Dst:             ntohs
        - Src:             'lib/roles/listen/ops-listen.c:153,3'
          Dst:             ntohs
        - Src:             'lib/roles/listen/ops-listen.c:153,3'
          Dst:             _lws_log
        - Src:             'lib/roles/listen/ops-listen.c:179,4'
          Dst:             _lws_log
        - Src:             'lib/roles/listen/ops-listen.c:180,4'
          Dst:             close
        - Src:             'lib/roles/listen/ops-listen.c:198,10'
          Dst:             lws_adopt_descriptor_vhost
        - Src:             'lib/roles/listen/ops-listen.c:209,4'
          Dst:             _lws_log
        - Src:             'lib/roles/listen/ops-listen.c:229,4'
          Dst:             lws_poll_listen_fd
    - 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:    rops_handle_POLLOUT_listen
      functionSourceFile: '/src/libwebsockets/lib/roles/listen/ops-listen.c'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_http_client_read
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2197
      functionLinenumberEnd: 2443
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         109
      ICount:          766
      EdgeCount:       148
      CyclomaticComplexity: 41
      functionsReached:
        - _lws_log
        - char_to_hex
        - lws_buflist_aware_finished_consuming
        - lws_buflist_aware_read
        - lws_change_pollfd
        - lws_hdr_total_length
        - lws_http_transaction_completed_client
        - lwsl_hexdump_level
        - user_callback_handle_rxflow
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/roles/http/client/client-http.c:2265,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:2213,13'
          Dst:             lws_buflist_aware_read
        - Src:             'lib/roles/http/client/client-http.c:2226,6'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/http/client/client-http.c:2230,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2234,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:2241,8'
          Dst:             lws_http_transaction_completed_client
        - Src:             'lib/roles/http/client/client-http.c:2271,8'
          Dst:             char_to_hex
        - Src:             'lib/roles/http/client/client-http.c:2273,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2277,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2285,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2303,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2304,5'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/http/client/client-http.c:2314,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2325,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2326,5'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/http/client/client-http.c:2336,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2337,5'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/http/client/client-http.c:2346,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2384,8'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/http/client/client-http.c:2388,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2394,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2431,6'
          Dst:             lws_http_transaction_completed_client
        - Src:             'lib/roles/http/client/client-http.c:2432,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2438,6'
          Dst:             lws_buflist_aware_finished_consuming
    - functionName:    lws_http_transaction_completed_client
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 516
      functionLinenumberEnd: 584
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          181
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - __lws_header_table_detach
        - _lws_generic_transaction_completed_active_conn
        - _lws_header_table_reset
        - _lws_log
        - lws_callback_on_writable
        - lws_set_timeout
        - lws_wsi_tag
        - lwsi_set_state
        - user_callback_handle_rxflow
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:520,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:520,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:527,6'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/http/client/client-http.c:530,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:542,6'
          Dst:             _lws_generic_transaction_completed_active_conn
        - Src:             'lib/roles/http/client/client-http.c:552,4'
          Dst:             __lws_header_table_detach
        - Src:             'lib/roles/http/client/client-http.c:555,5'
          Dst:             _lws_header_table_reset
        - Src:             'lib/roles/http/client/client-http.c:567,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:573,2'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:578,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:580,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:580,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:581,2'
          Dst:             lws_callback_on_writable
    - functionName:    lws_http_basic_auth_gen
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2189
      functionLinenumberEnd: 2190
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_http_basic_auth_gen2
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:2190,44'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:2190,9'
          Dst:             lws_http_basic_auth_gen2
    - functionName:    lws_http_basic_auth_gen2
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2166
      functionLinenumberEnd: 2186
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          94
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - lws_b64_encode_string
        - lws_snprintf
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:2167,13'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:2175,20'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2182,2'
          Dst:             lws_b64_encode_string
    - functionName:    lws_http_mp_sm_fill
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1872
      functionLinenumberEnd: 1969
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          426
      EdgeCount:       55
      CyclomaticComplexity: 14
      functionsReached:
        - __assert_fail
        - _lws_log
        - close
        - fstat
        - lws_snprintf
        - open
        - read
        - strchr
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/roles/http/client/client-http.c:1878,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:1875,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/client/client-http.c:1889,11'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1894,23'
          Dst:             strchr
        - Src:             'lib/roles/http/client/client-http.c:1900,10'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1905,11'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1909,16'
          Dst:             open
        - Src:             'lib/roles/http/client/client-http.c:1911,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1914,9'
          Dst:             fstat
        - Src:             'lib/roles/http/client/client-http.c:1915,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1926,10'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1938,8'
          Dst:             read
        - Src:             'lib/roles/http/client/client-http.c:1940,5'
          Dst:             close
        - Src:             'lib/roles/http/client/client-http.c:1941,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1952,5'
          Dst:             close
        - Src:             'lib/roles/http/client/client-http.c:1961,10'
          Dst:             lws_snprintf
    - functionName:    lws_http_mp_sm_destroy
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1863
      functionLinenumberEnd: 1868
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_realloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:1865,3'
          Dst:             lws_realloc
    - functionName:    lws_http_mp_sm_init
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1765
      functionLinenumberEnd: 1859
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          287
      EdgeCount:       49
      CyclomaticComplexity: 14
      functionsReached:
        - _lws_log
        - lws_add_http_header_by_token
        - lws_add_http_header_content_length
        - lws_get_context
        - lws_hex_random
        - lws_realloc
        - lws_snprintf
        - stat
        - strchr
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:1772,9'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/client/client-http.c:1776,13'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/client/client-http.c:1780,2'
          Dst:             lws_hex_random
        - Src:             'lib/roles/http/client/client-http.c:1783,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1784,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/client/client-http.c:1786,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1802,16'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/client/client-http.c:1807,16'
          Dst:             strchr
        - Src:             'lib/roles/http/client/client-http.c:1813,22'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:1815,24'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1819,8'
          Dst:             stat
        - Src:             'lib/roles/http/client/client-http.c:1820,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1830,23'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1833,10'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:1837,21'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:1841,6'
          Dst:             lws_add_http_header_content_length
    - functionName:    stat
      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:    lws_client_http_multipart
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1668
      functionLinenumberEnd: 1702
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          196
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - lws_snprintf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:1673,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/client/client-http.c:1676,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1684,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1687,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1692,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1696,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1699,8'
          Dst:             lws_snprintf
    - functionName:    lws_http_multipart_headers
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1639
      functionLinenumberEnd: 1662
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          83
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - lws_add_http_header_by_token
        - lws_b64_encode_string
        - lws_client_http_body_pending
        - lws_get_random
        - lws_snprintf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:1643,6'
          Dst:             lws_get_random
        - Src:             'lib/roles/http/client/client-http.c:1647,2'
          Dst:             lws_b64_encode_string
        - Src:             'lib/roles/http/client/client-http.c:1651,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1654,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/client/client-http.c:1659,2'
          Dst:             lws_client_http_body_pending
    - functionName:    lws_client_http_body_pending
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 31
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          24
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_http_is_redirected_to_get
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1034
      functionLinenumberEnd: 1035
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_client_reset
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2467
      functionLinenumberEnd: 2582
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          344
      EdgeCount:       56
      CyclomaticComplexity: 16
      functionsReached:
        - __lws_reset_wsi
        - __remove_wsi_socket_from_fds
        - _lws_log
        - lws_client_stash_create
        - lws_hdr_simple_ptr
        - lws_wsi_tag
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:2483,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:2483,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2487,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2506,18'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:2514,21'
          Dst:             lws_client_stash_create
        - Src:             'lib/roles/http/client/client-http.c:2518,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2536,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2541,2'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/roles/http/client/client-http.c:2558,2'
          Dst:             __lws_reset_wsi
    - functionName:    lws_http_digest_auth
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 619
      functionLinenumberEnd: 1027
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         196
      ICount:          1264
      EdgeCount:       263
      CyclomaticComplexity: 69
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - atoi
        - lws_client_reset
        - lws_genhash_destroy
        - lws_genhash_init
        - lws_genhash_size
        - lws_genhash_update
        - lws_get_context
        - lws_get_network_wsi
        - lws_hdr_copy
        - lws_hdr_simple_create
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_hex_from_byte_array
        - lws_hex_len_to_byte_array
        - lws_hex_random
        - lws_log_prepend_wsi
        - lws_realloc
        - lws_snprintf
        - lws_strncpy
        - lws_tokenize
        - lws_tokenize_init
        - lwsl_hexdump
        - lwsl_wsi_get_cx
        - strchr
        - strcpy
        - strlen
        - strncasecmp
        - strncmp
        - strncpy
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/roles/http/client/client-http.c:673,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/http/client/client-http.c:719,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:633,2'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/client/client-http.c:636,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:644,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:644,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:644,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:648,6'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/client/client-http.c:650,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:650,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:650,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:667,2'
          Dst:             lws_tokenize_init
        - Src:             'lib/roles/http/client/client-http.c:672,7'
          Dst:             lws_tokenize
        - Src:             'lib/roles/http/client/client-http.c:678,9'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/client/client-http.c:695,10'
          Dst:             strncmp
        - Src:             'lib/roles/http/client/client-http.c:699,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:699,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:699,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:724,5'
          Dst:             strncpy
        - Src:             'lib/roles/http/client/client-http.c:730,5'
          Dst:             strncpy
        - Src:             'lib/roles/http/client/client-http.c:737,5'
          Dst:             strncpy
        - Src:             'lib/roles/http/client/client-http.c:744,6'
          Dst:             lws_genhash_size
        - Src:             'lib/roles/http/client/client-http.c:747,9'
          Dst:             lws_hex_len_to_byte_array
        - Src:             'lib/roles/http/client/client-http.c:758,5'
          Dst:             strncpy
        - Src:             'lib/roles/http/client/client-http.c:763,12'
          Dst:             strncmp
        - Src:             'lib/roles/http/client/client-http.c:764,8'
          Dst:             strcpy
        - Src:             'lib/roles/http/client/client-http.c:767,19'
          Dst:             strchr
        - Src:             'lib/roles/http/client/client-http.c:778,31'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/client/client-http.c:780,6'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/client/client-http.c:781,38'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/client/client-http.c:783,6'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/client/client-http.c:784,38'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/client/client-http.c:786,6'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/client/client-http.c:787,38'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/client/client-http.c:789,6'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/client/client-http.c:791,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:791,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:791,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:818,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:818,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:818,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:827,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:827,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:827,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:835,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:835,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:835,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:855,35'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:856,4'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:856,23'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:857,4'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:859,16'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/client/client-http.c:863,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:866,7'
          Dst:             lws_genhash_init
        - Src:             'lib/roles/http/client/client-http.c:867,5'
          Dst:             lws_genhash_update
        - Src:             'lib/roles/http/client/client-http.c:870,5'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:871,4'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:877,6'
          Dst:             lws_genhash_size
        - Src:             'lib/roles/http/client/client-http.c:876,3'
          Dst:             lws_hex_from_byte_array
        - Src:             'lib/roles/http/client/client-http.c:879,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:886,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:890,7'
          Dst:             lws_genhash_init
        - Src:             'lib/roles/http/client/client-http.c:891,10'
          Dst:             lws_genhash_update
        - Src:             'lib/roles/http/client/client-http.c:894,10'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:895,4'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:896,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:901,6'
          Dst:             lws_genhash_size
        - Src:             'lib/roles/http/client/client-http.c:900,3'
          Dst:             lws_hex_from_byte_array
        - Src:             'lib/roles/http/client/client-http.c:903,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:906,18'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/client/client-http.c:906,3'
          Dst:             lws_hex_random
        - Src:             'lib/roles/http/client/client-http.c:907,3'
          Dst:             lws_hex_from_byte_array
        - Src:             'lib/roles/http/client/client-http.c:911,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:914,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:917,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:917,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:917,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:920,7'
          Dst:             lws_genhash_init
        - Src:             'lib/roles/http/client/client-http.c:921,5'
          Dst:             lws_genhash_update
        - Src:             'lib/roles/http/client/client-http.c:922,5'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:923,4'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:924,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:924,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:924,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:929,6'
          Dst:             lws_genhash_size
        - Src:             'lib/roles/http/client/client-http.c:931,6'
          Dst:             lws_genhash_size
        - Src:             'lib/roles/http/client/client-http.c:928,3'
          Dst:             lws_hex_from_byte_array
        - Src:             'lib/roles/http/client/client-http.c:934,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:942,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:951,3'
          Dst:             lwsl_hexdump
        - Src:             'lib/roles/http/client/client-http.c:953,7'
          Dst:             lws_hdr_simple_create
        - Src:             'lib/roles/http/client/client-http.c:955,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:955,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:955,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:959,10'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/http/client/client-http.c:974,24'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:975,24'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:976,23'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:981,5'
          Dst:             lws_tokenize_init
        - Src:             'lib/roles/http/client/client-http.c:983,21'
          Dst:             lws_tokenize
        - Src:             'lib/roles/http/client/client-http.c:986,11'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/client/client-http.c:995,19'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/client/client-http.c:996,17'
          Dst:             atoi
        - Src:             'lib/roles/http/client/client-http.c:1008,8'
          Dst:             lws_client_reset
        - Src:             'lib/roles/http/client/client-http.c:1009,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:1009,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:1009,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:1024,2'
          Dst:             lws_realloc
    - functionName:    lws_http_client_http_response
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 588
      functionLinenumberEnd: 593
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          44
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_client_interpret_server_handshake
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1040
      functionLinenumberEnd: 1630
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         226
      ICount:          1675
      EdgeCount:       309
      CyclomaticComplexity: 85
      functionsReached:
        - _lws_header_table_reset
        - _lws_log
        - _lws_log_cx
        - atoi
        - atoll
        - lws_callback_on_writable
        - lws_client_reset
        - lws_client_stash_create
        - lws_client_ws_upgrade
        - lws_close_free_wsi
        - lws_conmon_ss_json
        - lws_dll2_remove
        - lws_ensure_user_space
        - lws_get_network_wsi
        - lws_get_opaque_user_data
        - lws_hdr_simple_create
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_http_client_http_response
        - lws_http_digest_auth
        - lws_http_transaction_completed_client
        - lws_inform_client_conn_fail
        - lws_log_prepend_wsi
        - lws_now_usecs
        - lws_parse_set_cookie
        - lws_parse_uri_create
        - lws_parse_uri_destroy
        - lws_realloc
        - lws_role_transition
        - lws_set_timeout
        - lws_strncpy
        - lws_wsi_tag
        - lwsi_set_state
        - lwsl_wsi_get_cx
        - strchr
        - strcmp
        - strlen
        - strrchr
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/roles/http/client/client-http.c:1597,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:1045,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/http/client/client-http.c:1055,7'
          Dst:             lws_now_usecs
        - Src:             'lib/roles/http/client/client-http.c:1065,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:1065,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1067,4'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/client/client-http.c:1074,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:1074,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1076,4'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/client/client-http.c:1092,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1093,3'
          Dst:             lws_parse_set_cookie
        - Src:             'lib/roles/http/client/client-http.c:1111,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1120,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1125,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1130,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1133,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1145,6'
          Dst:             atoi
        - Src:             'lib/roles/http/client/client-http.c:1148,18'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1151,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1156,48'
          Dst:             lws_http_digest_auth
        - Src:             'lib/roles/http/client/client-http.c:1178,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:1178,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:1178,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:1180,4'
          Dst:             _lws_header_table_reset
        - Src:             'lib/roles/http/client/client-http.c:1186,10'
          Dst:             lws_hdr_simple_create
        - Src:             'lib/roles/http/client/client-http.c:1191,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:1192,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/client/client-http.c:1200,3'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/http/client/client-http.c:1216,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1235,44'
          Dst:             lws_get_opaque_user_data
        - Src:             'lib/roles/http/client/client-http.c:1238,5'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/roles/http/client/client-http.c:1253,31'
          Dst:             strchr
        - Src:             'lib/roles/http/client/client-http.c:1257,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1266,20'
          Dst:             strchr
        - Src:             'lib/roles/http/client/client-http.c:1267,11'
          Dst:             lws_parse_uri_create
        - Src:             'lib/roles/http/client/client-http.c:1277,9'
          Dst:             strcmp
        - Src:             'lib/roles/http/client/client-http.c:1277,33'
          Dst:             strcmp
        - Src:             'lib/roles/http/client/client-http.c:1287,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1292,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1293,27'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1293,5'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/client/client-http.c:1299,16'
          Dst:             strrchr
        - Src:             'lib/roles/http/client/client-http.c:1301,5'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/client/client-http.c:1316,15'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1317,13'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1318,28'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:1321,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1330,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1331,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1334,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1352,9'
          Dst:             lws_client_stash_create
        - Src:             'lib/roles/http/client/client-http.c:1353,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1354,6'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/client/client-http.c:1358,5'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/client/client-http.c:1378,8'
          Dst:             lws_client_reset
        - Src:             'lib/roles/http/client/client-http.c:1379,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1393,3'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/http/client/client-http.c:1397,4'
          Dst:             lws_parse_uri_destroy
        - Src:             'lib/roles/http/client/client-http.c:1434,5'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/http/client/client-http.c:1439,5'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/client/client-http.c:1469,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1470,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1475,19'
          Dst:             strcmp
        - Src:             'lib/roles/http/client/client-http.c:1481,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1482,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1489,23'
          Dst:             atoll
        - Src:             'lib/roles/http/client/client-http.c:1494,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1503,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1521,7'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/http/client/client-http.c:1522,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1543,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:1558,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:1558,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1569,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1572,12'
          Dst:             lws_http_client_http_response
        - Src:             'lib/roles/http/client/client-http.c:1573,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1575,15'
          Dst:             strcmp
        - Src:             'lib/roles/http/client/client-http.c:1576,14'
          Dst:             lws_http_transaction_completed_client
        - Src:             'lib/roles/http/client/client-http.c:1597,10'
          Dst:             lws_client_ws_upgrade
        - Src:             'lib/roles/http/client/client-http.c:1614,13'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:1616,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/roles/http/client/client-http.c:1619,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1624,2'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/http/client/client-http.c:1627,3'
          Dst:             lws_parse_uri_destroy
    - functionName:    lws_generate_client_handshake
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1974
      functionLinenumberEnd: 2158
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         66
      ICount:          569
      EdgeCount:       89
      CyclomaticComplexity: 25
      functionsReached:
        - _lws_log
        - lws_bind_protocol
        - lws_callback_on_writable
        - lws_client_http_body_pending
        - lws_cookie_send_cookies
        - lws_generate_client_ws_handshake
        - lws_has_buffered_out
        - lws_hdr_simple_ptr
        - lws_header_table_detach
        - lws_http_multipart_headers
        - lws_now_usecs
        - lws_realloc
        - lws_role_transition
        - lws_set_timeout
        - lws_snprintf
        - lws_vhost_name_to_protocol
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:1975,26'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1979,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1987,7'
          Dst:             strcmp
        - Src:             'lib/roles/http/client/client-http.c:1988,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:1989,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1994,9'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/client/client-http.c:1997,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2002,4'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/client/client-http.c:2009,3'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/client/client-http.c:2011,3'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/http/client/client-http.c:2029,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:2038,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2042,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2048,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:2046,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2050,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:2055,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:2053,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2062,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:2058,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2067,16'
          Dst:             lws_http_multipart_headers
        - Src:             'lib/roles/http/client/client-http.c:2103,14'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2105,9'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/client/client-http.c:2115,7'
          Dst:             lws_generate_client_ws_handshake
        - Src:             'lib/roles/http/client/client-http.c:2123,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2130,3'
          Dst:             lws_cookie_send_cookies
        - Src:             'lib/roles/http/client/client-http.c:2140,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2141,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2142,3'
          Dst:             lws_client_http_body_pending
        - Src:             'lib/roles/http/client/client-http.c:2145,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2147,39'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/client/client-http.c:2148,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/client/client-http.c:2152,22'
          Dst:             lws_now_usecs
    - functionName:    lws_http_client_socket_service
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 510
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         141
      ICount:          930
      EdgeCount:       186
      CyclomaticComplexity: 47
      functionsReached:
        - __assert_fail
        - __errno_location
        - _lws_log
        - atoi
        - lws_buflist_aware_finished_consuming
        - lws_buflist_aware_read
        - lws_buflist_total_len
        - lws_callback_on_writable
        - lws_change_pollfd
        - lws_client_connect_2_dnsreq_MAY_CLOSE_WSI
        - lws_client_connect_3_connect
        - lws_client_create_tls
        - lws_client_interpret_server_handshake
        - lws_close_free_wsi
        - lws_generate_client_handshake
        - lws_h2_issue_preface
        - lws_has_buffered_out
        - lws_inform_client_conn_fail
        - lws_parse
        - lws_role_call_alpn_negotiated
        - lws_set_timeout
        - lws_snprintf
        - lws_ssl_capable_write
        - lws_ssl_client_connect2
        - lws_wsi_tag
        - lwsi_set_state
        - recv
        - strlen
        - strncmp
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib/roles/http/client/client-http.c:51,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/http/client/client-http.c:295,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:58,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:58,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:59,8'
          Dst:             lws_client_connect_2_dnsreq_MAY_CLOSE_WSI
        - Src:             'lib/roles/http/client/client-http.c:61,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:75,8'
          Dst:             lws_client_connect_3_connect
        - Src:             'lib/roles/http/client/client-http.c:76,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:108,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:108,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:115,12'
          Dst:             recv
        - Src:             'lib/roles/http/client/client-http.c:117,8'
          Dst:             __errno_location
        - Src:             'lib/roles/http/client/client-http.c:118,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:121,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:129,17'
          Dst:             strncmp
        - Src:             'lib/roles/http/client/client-http.c:137,7'
          Dst:             atoi
        - Src:             'lib/roles/http/client/client-http.c:139,4'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:145,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:149,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:159,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:171,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/http/client/client-http.c:193,7'
          Dst:             lws_client_create_tls
        - Src:             'lib/roles/http/client/client-http.c:206,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:213,8'
          Dst:             lws_ssl_client_connect2
        - Src:             'lib/roles/http/client/client-http.c:223,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:224,5'
          Dst:             lws_role_call_alpn_negotiated
        - Src:             'lib/roles/http/client/client-http.c:242,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:250,9'
          Dst:             lws_h2_issue_preface
        - Src:             'lib/roles/http/client/client-http.c:256,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:271,7'
          Dst:             lws_generate_client_handshake
        - Src:             'lib/roles/http/client/client-http.c:281,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:282,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/http/client/client-http.c:289,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:289,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:294,7'
          Dst:             lws_ssl_capable_write
        - Src:             'lib/roles/http/client/client-http.c:297,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:298,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/http/client/client-http.c:303,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/client/client-http.c:307,40'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/client/client-http.c:308,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:309,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:310,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:315,5'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/client/client-http.c:325,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:329,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:340,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:343,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/client/client-http.c:353,40'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/client/client-http.c:367,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:368,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:380,8'
          Dst:             lws_buflist_total_len
        - Src:             'lib/roles/http/client/client-http.c:381,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:383,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:383,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:391,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/http/client/client-http.c:422,15'
          Dst:             lws_buflist_aware_read
        - Src:             'lib/roles/http/client/client-http.c:423,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:435,8'
          Dst:             lws_parse
        - Src:             'lib/roles/http/client/client-http.c:436,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:457,8'
          Dst:             lws_buflist_aware_finished_consuming
        - Src:             'lib/roles/http/client/client-http.c:470,5'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/client/client-http.c:491,10'
          Dst:             lws_client_interpret_server_handshake
        - Src:             'lib/roles/http/client/client-http.c:494,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:494,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:497,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:500,49'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:500,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/roles/http/client/client-http.c:502,3'
          Dst:             lws_close_free_wsi
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_netlink_coldplug_done_cb
      functionSourceFile: '/src/libwebsockets/lib/roles/netlink/ops-netlink.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_state_transition_steps
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/netlink/ops-netlink.c:55,2'
          Dst:             lws_state_transition_steps
    - functionName:    rops_handle_POLLIN_netlink
      functionSourceFile: '/src/libwebsockets/lib/roles/netlink/ops-netlink.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 542
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         160
      ICount:          1432
      EdgeCount:       193
      CyclomaticComplexity: 35
      functionsReached:
        - _lws_log_cx
        - _lws_route_get_uidx
        - _lws_route_pt_close_unroutable
        - _lws_route_remove
        - _lws_route_table_ifdown
        - _lws_routing_entry_dump
        - _lws_routing_table_dump
        - lws_dll2_add_tail
        - lws_log_prepend_context
        - lws_netlink_coldplug_done_cb
        - lws_realloc
        - lws_sa46_copy_address
        - lws_sa46_write_numeric_address
        - lws_smd_msg_printf
        - lws_sul_schedule
        - lwsl_context_get_cx
        - recvmsg
        - strncpy
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/roles/netlink/ops-netlink.c:134,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/netlink/ops-netlink.c:145,5'
          Branch Sides:    []
        - Branch String:   'lib/roles/netlink/ops-netlink.c:199,5'
          Branch Sides:    []
        - Branch String:   'lib/roles/netlink/ops-netlink.c:272,5'
          Branch Sides:    []
        - Branch String:   'lib/roles/netlink/ops-netlink.c:295,4'
          Branch Sides:    []
        - Branch String:   'lib/roles/netlink/ops-netlink.c:367,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/netlink/ops-netlink.c:94,20'
          Dst:             recvmsg
        - Src:             'lib/roles/netlink/ops-netlink.c:96,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:96,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:96,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:120,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:120,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:120,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:143,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:143,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:143,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:147,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:147,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:147,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:156,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:156,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:156,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:169,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:169,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:169,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:172,5'
          Dst:             _lws_route_table_ifdown
        - Src:             'lib/roles/netlink/ops-netlink.c:193,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:193,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:193,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:202,6'
          Dst:             lws_sa46_copy_address
        - Src:             'lib/roles/netlink/ops-netlink.c:204,6'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/roles/netlink/ops-netlink.c:205,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:205,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:205,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:209,6'
          Dst:             lws_sa46_copy_address
        - Src:             'lib/roles/netlink/ops-netlink.c:211,6'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/roles/netlink/ops-netlink.c:212,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:212,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:212,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:215,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:215,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:215,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:219,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:219,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:219,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:222,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:222,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:222,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:225,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:225,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:225,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:228,6'
          Dst:             strncpy
        - Src:             'lib/roles/netlink/ops-netlink.c:230,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:230,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:230,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:233,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:233,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:233,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:248,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:248,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:248,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:259,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:259,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:259,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:264,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:264,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:264,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:271,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:271,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:271,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:274,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:274,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:274,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:280,4'
          Dst:             _lws_route_pt_close_unroutable
        - Src:             'lib/roles/netlink/ops-netlink.c:285,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:285,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:285,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:298,5'
          Dst:             lws_sa46_copy_address
        - Src:             'lib/roles/netlink/ops-netlink.c:301,5'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/roles/netlink/ops-netlink.c:303,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:303,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:303,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:305,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:305,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:305,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:312,6'
          Dst:             lws_sa46_copy_address
        - Src:             'lib/roles/netlink/ops-netlink.c:314,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:314,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:314,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:317,5'
          Dst:             lws_sa46_copy_address
        - Src:             'lib/roles/netlink/ops-netlink.c:320,5'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/roles/netlink/ops-netlink.c:321,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:321,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:321,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:324,5'
          Dst:             lws_sa46_copy_address
        - Src:             'lib/roles/netlink/ops-netlink.c:327,5'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/roles/netlink/ops-netlink.c:328,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:328,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:328,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:336,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:336,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:336,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:342,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:342,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:342,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:345,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:345,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:345,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:349,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:349,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:349,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:353,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:353,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:353,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:357,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:357,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:357,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:373,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:373,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:373,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:376,4'
          Dst:             _lws_route_remove
        - Src:             'lib/roles/netlink/ops-netlink.c:389,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:389,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:389,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:401,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:401,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:401,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:405,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:405,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:405,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:409,4'
          Dst:             _lws_routing_entry_dump
        - Src:             'lib/roles/netlink/ops-netlink.c:416,10'
          Dst:             lws_realloc
        - Src:             'lib/roles/netlink/ops-netlink.c:418,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:418,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:418,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:439,4'
          Dst:             _lws_route_remove
        - Src:             'lib/roles/netlink/ops-netlink.c:443,16'
          Dst:             _lws_route_get_uidx
        - Src:             'lib/roles/netlink/ops-netlink.c:444,4'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/roles/netlink/ops-netlink.c:447,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:447,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:447,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:454,4'
          Dst:             _lws_route_pt_close_unroutable
        - Src:             'lib/roles/netlink/ops-netlink.c:466,10'
          Dst:             lws_smd_msg_printf
        - Src:             'lib/roles/netlink/ops-netlink.c:475,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:475,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:475,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:477,4'
          Dst:             _lws_routing_entry_dump
        - Src:             'lib/roles/netlink/ops-netlink.c:481,4'
          Dst:             _lws_route_remove
        - Src:             'lib/roles/netlink/ops-netlink.c:484,4'
          Dst:             _lws_route_pt_close_unroutable
        - Src:             'lib/roles/netlink/ops-netlink.c:490,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:490,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:490,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:492,4'
          Dst:             _lws_routing_entry_dump
        - Src:             'lib/roles/netlink/ops-netlink.c:514,9'
          Dst:             lws_smd_msg_printf
        - Src:             'lib/roles/netlink/ops-netlink.c:522,3'
          Dst:             _lws_routing_table_dump
        - Src:             'lib/roles/netlink/ops-netlink.c:535,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/roles/netlink/ops-netlink.c:535,3'
          Dst:             lws_netlink_coldplug_done_cb
    - functionName:    recvmsg
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rops_pt_init_destroy_netlink
      functionSourceFile: '/src/libwebsockets/lib/roles/netlink/ops-netlink.c'
      linkageType:     InternalLinkage
      functionLinenumber: 553
      functionLinenumberEnd: 680
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          244
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - __lws_lc_tag
        - __lws_lc_untag
        - __lws_wsi_create_with_role
        - _lws_log_cx
        - _lws_route_table_empty
        - bind
        - close
        - getpid
        - lws_dll2_remove
        - lws_log_prepend_context
        - lws_plat_set_nonblocking
        - lws_realloc
        - lws_wsi_inject_to_loop
        - lwsl_context_get_cx
        - sendmsg
        - socket
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/netlink/ops-netlink.c:567,3'
          Dst:             _lws_route_table_empty
        - Src:             'lib/roles/netlink/ops-netlink.c:579,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:579,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:579,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:586,8'
          Dst:             __lws_wsi_create_with_role
        - Src:             'lib/roles/netlink/ops-netlink.c:592,21'
          Dst:             socket
        - Src:             'lib/roles/netlink/ops-netlink.c:594,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:594,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:594,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:598,2'
          Dst:             lws_plat_set_nonblocking
        - Src:             'lib/roles/netlink/ops-netlink.c:600,2'
          Dst:             __lws_lc_tag
        - Src:             'lib/roles/netlink/ops-netlink.c:612,6'
          Dst:             bind
        - Src:             'lib/roles/netlink/ops-netlink.c:613,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:613,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:613,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:619,6'
          Dst:             lws_wsi_inject_to_loop
        - Src:             'lib/roles/netlink/ops-netlink.c:644,32'
          Dst:             getpid
        - Src:             'lib/roles/netlink/ops-netlink.c:655,11'
          Dst:             sendmsg
        - Src:             'lib/roles/netlink/ops-netlink.c:657,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:657,3'
          Dst:             __errno_location
        - Src:             'lib/roles/netlink/ops-netlink.c:657,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:657,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:668,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:668,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:668,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:673,2'
          Dst:             __lws_lc_untag
        - Src:             'lib/roles/netlink/ops-netlink.c:674,2'
          Dst:             close
        - Src:             'lib/roles/netlink/ops-netlink.c:676,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/netlink/ops-netlink.c:677,2'
          Dst:             lws_realloc
    - functionName:    getpid
      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:    sendmsg
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    elops_foreign_thread_poll
      functionSourceFile: '/src/libwebsockets/lib/event-libs/poll/poll.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          22
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_vfs_file_read
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-vfs.h'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ss_dump_extant
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2204
      functionLinenumberEnd: 2217
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          74
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_context
        - lws_log_prepend_ss
        - lwsl_context_get_cx
        - lwsl_ss_get_cx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:2208,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:2208,2'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:2208,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:2214,3'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:2214,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:2214,3'
          Dst:             lws_log_prepend_ss
    - functionName:    lwsl_ss_get_cx
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2155
      functionLinenumberEnd: 2160
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    21
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_log_prepend_ss
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2164
      functionLinenumberEnd: 2169
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          38
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_snprintf
        - lws_ss_tag
      functionUses:    21
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:2168,4'
          Dst:             lws_ss_tag
        - Src:             'lib/secure-streams/secure-streams.c:2167,8'
          Dst:             lws_snprintf
    - functionName:    lws_ss_tag
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2147
      functionLinenumberEnd: 2151
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_lc_tag
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:2150,9'
          Dst:             lws_lc_tag
    - functionName:    lws_ss_assert_extant
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2182
      functionLinenumberEnd: 2198
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          72
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:2198,2'
          Dst:             __assert_fail
    - functionName:    lws_ss_validity_confirmed
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2173
      functionLinenumberEnd: 2176
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_validity_confirmed
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:2175,3'
          Dst:             lws_validity_confirmed
    - functionName:    lws_ss_change_handlers
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2136
      functionLinenumberEnd: 2143
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          60
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ss_cancel_timeout
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2122
      functionLinenumberEnd: 2125
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_service_assert_loop_thread
        - lws_sul_cancel
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:2123,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:2124,2'
          Dst:             lws_sul_cancel
    - functionName:    lws_ss_to_cb
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2091
      functionLinenumberEnd: 2103
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          64
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - lws_set_timeout
        - lws_ss_event_helper
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:2095,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:2100,3'
          Dst:             lws_set_timeout
        - Src:             'lib/secure-streams/secure-streams.c:2102,2'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
    - functionName:    lws_ss_event_helper
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 424
      functionLinenumberEnd: 467
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          221
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - lws_ss_check_next_state_ss
      functionUses:    42
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:430,6'
          Dst:             lws_ss_check_next_state_ss
    - functionName:    _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 472
      functionLinenumberEnd: 489
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          74
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
        - lws_set_opaque_user_data
        - lws_set_timeout
        - lws_ss_destroy
        - lws_ss_tag
        - lws_wsi_tag
      functionUses:    35
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:474,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/secure-streams/secure-streams.c:474,3'
          Dst:             lws_ss_tag
        - Src:             'lib/secure-streams/secure-streams.c:474,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:477,4'
          Dst:             lws_set_opaque_user_data
        - Src:             'lib/secure-streams/secure-streams.c:478,4'
          Dst:             lws_set_timeout
        - Src:             'lib/secure-streams/secure-streams.c:481,5'
          Dst:             lws_set_opaque_user_data
        - Src:             'lib/secure-streams/secure-streams.c:482,5'
          Dst:             lws_set_timeout
        - Src:             'lib/secure-streams/secure-streams.c:486,3'
          Dst:             lws_ss_destroy
    - functionName:    lws_ss_destroy
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1618
      functionLinenumberEnd: 1829
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         60
      ICount:          431
      EdgeCount:       78
      CyclomaticComplexity: 20
      functionsReached:
        - __assert_fail
        - __lws_lc_untag
        - _lws_log
        - lws_dll2_remove
        - lws_explicit_bzero
        - lws_get_opaque_user_data
        - lws_get_vhost_by_name
        - lws_realloc
        - lws_service_assert_loop_thread
        - lws_set_opaque_user_data
        - lws_set_timeout
        - lws_smd_unregister
        - lws_ss_destroy
        - lws_ss_event_helper
        - lws_sul_cancel
        - lws_vfs_file_close
        - lws_vhost_destroy
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:1630,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:1633,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1635,3'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/secure-streams.c:1640,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1647,3'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/secure-streams.c:1651,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1656,5'
          Dst:             lws_get_opaque_user_data
        - Src:             'lib/secure-streams/secure-streams.c:1668,3'
          Dst:             lws_set_opaque_user_data
        - Src:             'lib/secure-streams/secure-streams.c:1669,3'
          Dst:             lws_set_timeout
        - Src:             'lib/secure-streams/secure-streams.c:1673,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/secure-streams.c:1682,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/secure-streams.c:1685,4'
          Dst:             lws_smd_unregister
        - Src:             'lib/secure-streams/secure-streams.c:1695,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/secure-streams.c:1697,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/secure-streams.c:1699,3'
          Dst:             lws_vfs_file_close
        - Src:             'lib/secure-streams/secure-streams.c:1702,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/secure-streams.c:1703,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/secure-streams.c:1704,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/secure-streams.c:1708,3'
          Dst:             lws_ss_destroy
        - Src:             'lib/secure-streams/secure-streams.c:1711,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/secure-streams.c:1713,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/secure-streams.c:1722,7'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/secure-streams/secure-streams.c:1734,10'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1736,9'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1745,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1747,4'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/secure-streams.c:1773,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/secure-streams.c:1803,3'
          Dst:             lws_vhost_destroy
        - Src:             'lib/secure-streams/secure-streams.c:1818,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/secure-streams.c:1824,2'
          Dst:             __lws_lc_untag
        - Src:             'lib/secure-streams/secure-streams.c:1826,2'
          Dst:             lws_explicit_bzero
        - Src:             'lib/secure-streams/secure-streams.c:1828,2'
          Dst:             lws_realloc
    - functionName:    lws_vfs_file_close
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-vfs.h'
      linkageType:     InternalLinkage
      functionLinenumber: 214
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          50
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ss_check_next_state_ss
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 364
      functionLinenumberEnd: 408
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          123
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_log_prepend_ss
        - lws_ss_state_name
        - lwsl_ss_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:376,3'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:376,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:376,3'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:377,3'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/secure-streams.c:383,3'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:383,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:383,3'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:385,3'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/secure-streams.c:391,3'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:391,3'
          Dst:             lws_ss_state_name
        - Src:             'lib/secure-streams/secure-streams.c:391,3'
          Dst:             lws_ss_state_name
        - Src:             'lib/secure-streams/secure-streams.c:391,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:391,3'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:401,2'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:401,2'
          Dst:             lws_ss_state_name
        - Src:             'lib/secure-streams/secure-streams.c:401,2'
          Dst:             lws_ss_state_name
        - Src:             'lib/secure-streams/secure-streams.c:401,2'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:401,2'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:405,2'
          Dst:             __assert_fail
    - functionName:    lws_ss_state_name
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 412
      functionLinenumberEnd: 420
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ss_start_timeout
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2108
      functionLinenumberEnd: 2118
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          75
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - lws_service_assert_loop_thread
        - lws_ss_to_cb
        - lws_sul_schedule
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:2109,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:2115,2'
          Dst:             lws_sul_schedule
        - Src:             'lib/secure-streams/secure-streams.c:2115,2'
          Dst:             lws_ss_to_cb
    - functionName:    lws_ss_get_est_peer_tx_credit
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2072
      functionLinenumberEnd: 2083
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          73
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - lws_service_assert_loop_thread
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:2075,2'
          Dst:             lws_service_assert_loop_thread
    - functionName:    lws_ss_add_peer_tx_credit
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2057
      functionLinenumberEnd: 2068
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          76
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - lws_service_assert_loop_thread
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:2060,2'
          Dst:             lws_service_assert_loop_thread
    - functionName:    lws_ss_rideshare
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2048
      functionLinenumberEnd: 2053
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          33
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ss_get_context
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2033
      functionLinenumberEnd: 2034
      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:    lws_ss_cancel_notify_dll
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2022
      functionLinenumberEnd: 2028
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - lws_ss_event_helper
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:2025,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:2026,3'
          Dst:             _lws_log
    - functionName:    lws_ss_destroy_dll
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2012
      functionLinenumberEnd: 2017
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_ss_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:2015,2'
          Dst:             lws_ss_destroy
    - functionName:    lws_ss_request_tx_len
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1990
      functionLinenumberEnd: 2001
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          99
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - lws_service_assert_loop_thread
        - lws_ss_request_tx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:1991,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:2001,9'
          Dst:             lws_ss_request_tx
    - functionName:    lws_ss_request_tx
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1895
      functionLinenumberEnd: 1900
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_ss_request_tx
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:1898,6'
          Dst:             _lws_ss_request_tx
    - functionName:    _lws_ss_request_tx
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1905
      functionLinenumberEnd: 1986
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         28
      ICount:          191
      EdgeCount:       39
      CyclomaticComplexity: 13
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - _lws_ss_client_connect
        - lws_callback_on_writable
        - lws_log_prepend_ss
        - lws_service_assert_loop_thread
        - lws_ss_backoff
        - lws_ss_event_helper
        - lws_ss_sink_txreq_cb
        - lws_ss_smd_tx_cb
        - lws_sul_schedule
        - lwsl_ss_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:1910,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:1913,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/secure-streams/secure-streams.c:1920,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1933,3'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1933,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1933,3'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1935,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/secure-streams/secure-streams.c:1935,3'
          Dst:             lws_ss_sink_txreq_cb
        - Src:             'lib/secure-streams/secure-streams.c:1955,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/secure-streams/secure-streams.c:1955,3'
          Dst:             lws_ss_smd_tx_cb
        - Src:             'lib/secure-streams/secure-streams.c:1969,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1978,6'
          Dst:             _lws_ss_client_connect
        - Src:             'lib/secure-streams/secure-streams.c:1983,10'
          Dst:             lws_ss_backoff
    - functionName:    lws_ss_sink_txreq_cb
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1859
      functionLinenumberEnd: 1890
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          106
      EdgeCount:       12
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - lws_log_prepend_ss
        - lwsl_ss_get_cx
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/secure-streams/secure-streams.c:1873,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:1869,2'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/secure-streams.c:1876,4'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1876,4'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1876,4'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1881,3'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/secure-streams.c:1887,3'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
    - functionName:    lws_ss_smd_tx_cb
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 649
      functionLinenumberEnd: 685
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          126
      EdgeCount:       19
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - lws_log_prepend_ss
        - lws_ser_ru64be
        - lws_service_assert_loop_thread
        - lws_smd_msg_alloc
        - lws_smd_msg_send
        - lwsl_hexdump_level
        - lwsl_ss_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:656,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:667,3'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:667,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:667,3'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:669,3'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/secure-streams/secure-streams.c:672,28'
          Dst:             lws_ser_ru64be
        - Src:             'lib/secure-streams/secure-streams.c:673,6'
          Dst:             lws_smd_msg_alloc
        - Src:             'lib/secure-streams/secure-streams.c:681,6'
          Dst:             lws_smd_msg_send
        - Src:             'lib/secure-streams/secure-streams.c:682,3'
          Dst:             _lws_log
    - functionName:    _lws_ss_client_connect
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 726
      functionLinenumberEnd: 1029
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         125
      ICount:          927
      EdgeCount:       173
      CyclomaticComplexity: 50
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - lws_client_connect_via_info
        - lws_get_vhost_by_name
        - lws_log_prepend_ss
        - lws_parse_uri_create
        - lws_parse_uri_destroy
        - lws_realloc
        - lws_service_assert_loop_thread
        - lws_smd_register
        - lws_smd_ss_cb
        - lws_ss_backoff
        - lws_ss_event_helper
        - lws_ss_exp_cb_metadata
        - lws_ss_fops_sul_cb
        - lws_strexp_expand
        - lws_strexp_init
        - lws_sul_schedule
        - lws_vfs_file_close
        - lws_vfs_file_open
        - lwsl_ss_get_cx
        - strchr
        - strcmp
        - strlen
        - strncmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:739,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:742,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:768,23'
          Dst:             lws_smd_register
        - Src:             'lib/secure-streams/secure-streams.c:768,23'
          Dst:             lws_smd_ss_cb
        - Src:             'lib/secure-streams/secure-streams.c:776,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:779,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:790,2'
          Dst:             lws_strexp_init
        - Src:             'lib/secure-streams/secure-streams.c:790,2'
          Dst:             lws_ss_exp_cb_metadata
        - Src:             'lib/secure-streams/secure-streams.c:793,10'
          Dst:             strlen
        - Src:             'lib/secure-streams/secure-streams.c:792,6'
          Dst:             lws_strexp_expand
        - Src:             'lib/secure-streams/secure-streams.c:795,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:814,7'
          Dst:             strncmp
        - Src:             'lib/secure-streams/secure-streams.c:816,15'
          Dst:             lws_vfs_file_open
        - Src:             'lib/secure-streams/secure-streams.c:820,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:822,4'
          Dst:             lws_vfs_file_close
        - Src:             'lib/secure-streams/secure-streams.c:827,4'
          Dst:             lws_vfs_file_close
        - Src:             'lib/secure-streams/secure-streams.c:828,4'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:828,4'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:828,4'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:832,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:834,4'
          Dst:             lws_vfs_file_close
        - Src:             'lib/secure-streams/secure-streams.c:839,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/secure-streams/secure-streams.c:839,3'
          Dst:             lws_ss_fops_sul_cb
        - Src:             'lib/secure-streams/secure-streams.c:846,14'
          Dst:             strchr
        - Src:             'lib/secure-streams/secure-streams.c:847,14'
          Dst:             lws_parse_uri_create
        - Src:             'lib/secure-streams/secure-streams.c:848,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:860,16'
          Dst:             strcmp
        - Src:             'lib/secure-streams/secure-streams.c:860,41'
          Dst:             strcmp
        - Src:             'lib/secure-streams/secure-streams.c:861,9'
          Dst:             strcmp
        - Src:             'lib/secure-streams/secure-streams.c:865,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:869,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:872,14'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/secure-streams/secure-streams.c:875,5'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:880,6'
          Dst:             lws_parse_uri_destroy
        - Src:             'lib/secure-streams/secure-streams.c:929,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:932,4'
          Dst:             lws_parse_uri_destroy
        - Src:             'lib/secure-streams/secure-streams.c:945,9'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/secure-streams.c:947,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:949,4'
          Dst:             lws_parse_uri_destroy
        - Src:             'lib/secure-streams/secure-streams.c:958,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:972,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:974,3'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/secure-streams.c:976,4'
          Dst:             lws_parse_uri_destroy
        - Src:             'lib/secure-streams/secure-streams.c:982,8'
          Dst:             lws_client_connect_via_info
        - Src:             'lib/secure-streams/secure-streams.c:984,2'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/secure-streams.c:993,5'
          Dst:             lws_parse_uri_destroy
        - Src:             'lib/secure-streams/secure-streams.c:1006,8'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1009,6'
          Dst:             lws_parse_uri_destroy
        - Src:             'lib/secure-streams/secure-streams.c:1013,8'
          Dst:             lws_ss_backoff
        - Src:             'lib/secure-streams/secure-streams.c:1016,6'
          Dst:             lws_parse_uri_destroy
        - Src:             'lib/secure-streams/secure-streams.c:1022,4'
          Dst:             lws_parse_uri_destroy
        - Src:             'lib/secure-streams/secure-streams.c:1027,3'
          Dst:             lws_parse_uri_destroy
    - functionName:    lws_ss_backoff
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 604
      functionLinenumberEnd: 605
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_ss_backoff
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:605,9'
          Dst:             _lws_ss_backoff
    - functionName:    _lws_ss_backoff
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 563
      functionLinenumberEnd: 600
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          113
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log
        - lws_retry_get_delay_ms
        - lws_service_assert_loop_thread
        - lws_ss_event_helper
        - lws_ss_set_timeout_us
        - lws_ss_tag
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:567,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:574,2'
          Dst:             lws_ss_tag
        - Src:             'lib/secure-streams/secure-streams.c:574,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:575,7'
          Dst:             lws_retry_get_delay_ms
        - Src:             'lib/secure-streams/secure-streams.c:578,3'
          Dst:             lws_ss_tag
        - Src:             'lib/secure-streams/secure-streams.c:578,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:585,10'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:594,2'
          Dst:             lws_ss_set_timeout_us
        - Src:             'lib/secure-streams/secure-streams.c:596,2'
          Dst:             lws_ss_tag
        - Src:             'lib/secure-streams/secure-streams.c:596,2'
          Dst:             _lws_log
    - functionName:    lws_ss_set_timeout_us
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 558
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          55
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_sul_insert
        - lws_now_usecs
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:554,2'
          Dst:             lws_now_usecs
        - Src:             'lib/secure-streams/secure-streams.c:554,2'
          Dst:             __lws_sul_insert
    - functionName:    lws_ss_timeout_sul_check_cb
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 494
      functionLinenumberEnd: 504
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_log
        - _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - _lws_ss_request_tx
        - lws_ss_tag
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:498,2'
          Dst:             lws_ss_tag
        - Src:             'lib/secure-streams/secure-streams.c:498,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:502,6'
          Dst:             _lws_ss_request_tx
        - Src:             'lib/secure-streams/secure-streams.c:503,2'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
    - functionName:    lws_smd_ss_cb
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 624
      functionLinenumberEnd: 644
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          70
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_ser_wu64be
        - lws_service_assert_loop_thread
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:628,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:637,2'
          Dst:             lws_ser_wu64be
        - Src:             'lib/secure-streams/secure-streams.c:638,2'
          Dst:             lws_ser_wu64be
    - functionName:    lws_ss_exp_cb_metadata
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 509
      functionLinenumberEnd: 546
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          149
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - _lws_log
        - lws_ss_get_handle_metadata
        - lws_ss_policy_metadata
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:513,26'
          Dst:             lws_ss_policy_metadata
        - Src:             'lib/secure-streams/secure-streams.c:514,13'
          Dst:             lws_ss_get_handle_metadata
        - Src:             'lib/secure-streams/secure-streams.c:517,3'
          Dst:             _lws_log
    - functionName:    lws_ss_fops_sul_cb
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 692
      functionLinenumberEnd: 721
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          132
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - lws_ss_destroy
        - lws_ss_event_helper
        - lws_ss_fops_sul_cb
        - lws_sul_schedule
        - lws_vfs_file_close
        - lws_vfs_file_read
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:699,6'
          Dst:             lws_vfs_file_read
        - Src:             'lib/secure-streams/secure-streams.c:708,4'
          Dst:             lws_sul_schedule
        - Src:             'lib/secure-streams/secure-streams.c:708,4'
          Dst:             lws_ss_fops_sul_cb
        - Src:             'lib/secure-streams/secure-streams.c:714,2'
          Dst:             lws_vfs_file_close
        - Src:             'lib/secure-streams/secure-streams.c:716,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:720,3'
          Dst:             lws_ss_destroy
    - functionName:    lws_ss_server_foreach_client
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1842
      functionLinenumberEnd: 1850
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          62
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ss_server_ack
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1834
      functionLinenumberEnd: 1837
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ss_to_user_object
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1612
      functionLinenumberEnd: 1613
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      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:    lws_ss_create
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1116
      functionLinenumberEnd: 1608
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         155
      ICount:          1275
      EdgeCount:       209
      CyclomaticComplexity: 56
      functionsReached:
        - __lws_lc_tag
        - _lws_log
        - _lws_log_cx
        - _lws_ss_client_connect
        - lws_create_vhost
        - lws_dll2_add_head
        - lws_dll2_add_tail
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_get_vhost_by_name
        - lws_log_prepend_context
        - lws_log_prepend_ss
        - lws_service_assert_loop_thread
        - lws_smd_register
        - lws_smd_ss_cb
        - lws_ss_backoff
        - lws_ss_create
        - lws_ss_destroy
        - lws_ss_event_helper
        - lws_ss_policy_lookup
        - lws_zalloc
        - lwsl_context_get_cx
        - lwsl_ss_get_cx
        - strcmp
        - strlen
      functionUses:    4
      BranchProfiles:
        - Branch String:   'lib/secure-streams/secure-streams.c:1582,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:1130,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:1157,9'
          Dst:             lws_ss_policy_lookup
        - Src:             'lib/secure-streams/secure-streams.c:1160,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1160,4'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1160,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1183,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1189,8'
          Dst:             lws_zalloc
        - Src:             'lib/secure-streams/secure-streams.c:1197,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/secure-streams/secure-streams.c:1199,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1199,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1199,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1216,23'
          Dst:             strlen
        - Src:             'lib/secure-streams/secure-streams.c:1219,6'
          Dst:             lws_zalloc
        - Src:             'lib/secure-streams/secure-streams.c:1236,3'
          Dst:             __lws_lc_tag
        - Src:             'lib/secure-streams/secure-streams.c:1241,3'
          Dst:             __lws_lc_tag
        - Src:             'lib/secure-streams/secure-streams.c:1270,4'
          Dst:             lws_dll2_get_head
        - Src:             'lib/secure-streams/secure-streams.c:1274,10'
          Dst:             strcmp
        - Src:             'lib/secure-streams/secure-streams.c:1283,7'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1283,7'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1283,7'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1293,10'
          Dst:             lws_ss_create
        - Src:             'lib/secure-streams/secure-streams.c:1295,7'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1295,7'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1295,7'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1299,6'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/secure-streams/secure-streams.c:1301,6'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1301,6'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1301,6'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1308,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1308,5'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1308,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1340,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1340,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1340,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1355,30'
          Dst:             strlen
        - Src:             'lib/secure-streams/secure-streams.c:1362,2'
          Dst:             lws_dll2_add_head
        - Src:             'lib/secure-streams/secure-streams.c:1392,23'
          Dst:             lws_smd_register
        - Src:             'lib/secure-streams/secure-streams.c:1392,23'
          Dst:             lws_smd_ss_cb
        - Src:             'lib/secure-streams/secure-streams.c:1397,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1397,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1397,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1407,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1407,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1407,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1418,10'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/secure-streams/secure-streams.c:1421,5'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1447,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1470,5'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1470,5'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1470,5'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1486,10'
          Dst:             lws_create_vhost
        - Src:             'lib/secure-streams/secure-streams.c:1490,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1490,4'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1490,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1502,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1503,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1503,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1503,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1508,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1508,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1508,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1542,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1543,2'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1543,2'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1543,2'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1560,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1563,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1579,7'
          Dst:             _lws_ss_client_connect
        - Src:             'lib/secure-streams/secure-streams.c:1587,8'
          Dst:             lws_ss_backoff
        - Src:             'lib/secure-streams/secure-streams.c:1603,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/secure-streams.c:1605,2'
          Dst:             lws_ss_destroy
    - functionName:    lws_ss_get_vhost
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2039
      functionLinenumberEnd: 2043
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          29
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ss_adopt_raw
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1045
      functionLinenumberEnd: 1102
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         28
      ICount:          198
      EdgeCount:       38
      CyclomaticComplexity: 12
      functionsReached:
        - _lws_log_cx
        - lws_adopt_descriptor_vhost_via_info
        - lws_change_pollfd
        - lws_close_free_wsi
        - lws_get_vhost_by_name
        - lws_log_prepend_ss
        - lws_log_prepend_wsi
        - lws_ss_event_helper
        - lws_ss_get_vhost
        - lwsl_ss_get_cx
        - lwsl_wsi_get_cx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:1060,12'
          Dst:             lws_ss_get_vhost
        - Src:             'lib/secure-streams/secure-streams.c:1060,34'
          Dst:             lws_ss_get_vhost
        - Src:             'lib/secure-streams/secure-streams.c:1061,5'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/secure-streams/secure-streams.c:1069,8'
          Dst:             lws_adopt_descriptor_vhost_via_info
        - Src:             'lib/secure-streams/secure-streams.c:1071,3'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1071,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1071,3'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1075,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1075,2'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1075,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/secure-streams/secure-streams.c:1081,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1084,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1088,6'
          Dst:             lws_change_pollfd
        - Src:             'lib/secure-streams/secure-streams.c:1089,3'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1089,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1089,3'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1094,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1098,2'
          Dst:             lws_close_free_wsi
    - functionName:    lws_ss_client_connect
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1033
      functionLinenumberEnd: 1040
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_ss_client_connect
        - lws_service_assert_loop_thread
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:1036,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:1038,6'
          Dst:             _lws_ss_client_connect
    - functionName:    lws_ss_check_next_state
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 314
      functionLinenumberEnd: 359
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          131
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_ss_state_name
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:327,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:328,3'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/secure-streams.c:334,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:336,3'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/secure-streams.c:342,3'
          Dst:             lws_ss_state_name
        - Src:             'lib/secure-streams/secure-streams.c:342,3'
          Dst:             lws_ss_state_name
        - Src:             'lib/secure-streams/secure-streams.c:342,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:352,2'
          Dst:             lws_ss_state_name
        - Src:             'lib/secure-streams/secure-streams.c:352,2'
          Dst:             lws_ss_state_name
        - Src:             'lib/secure-streams/secure-streams.c:352,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:356,2'
          Dst:             __assert_fail
    - functionName:    lws_conmon_ss_json
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 308
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         36
      ICount:          311
      EdgeCount:       45
      CyclomaticComplexity: 11
      functionsReached:
        - lws_conmon_release
        - lws_conmon_wsi_take
        - lws_realloc
        - lws_sa46_write_numeric_address
        - lws_snprintf
      functionUses:    8
      BranchProfiles:
        - Branch String:   'lib/secure-streams/secure-streams.c:260,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:222,3'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/secure-streams.c:224,19'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/secure-streams.c:231,2'
          Dst:             lws_conmon_wsi_take
        - Src:             'lib/secure-streams/secure-streams.c:233,2'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/secure-streams/secure-streams.c:234,9'
          Dst:             lws_snprintf
        - Src:             'lib/secure-streams/secure-streams.c:251,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/secure-streams/secure-streams.c:252,10'
          Dst:             lws_snprintf
        - Src:             'lib/secure-streams/secure-streams.c:258,9'
          Dst:             lws_snprintf
        - Src:             'lib/secure-streams/secure-streams.c:262,10'
          Dst:             lws_snprintf
        - Src:             'lib/secure-streams/secure-streams.c:270,9'
          Dst:             lws_snprintf
        - Src:             'lib/secure-streams/secure-streams.c:277,2'
          Dst:             lws_conmon_release
        - Src:             'lib/secure-streams/secure-streams.c:305,2'
          Dst:             lws_realloc
    - functionName:    fe_lws_ss_destroy
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 284
      functionLinenumberEnd: 289
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_ss_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-common.c:287,2'
          Dst:             lws_ss_destroy
    - functionName:    lws_ss_policy_set
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 411
      functionLinenumberEnd: 603
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         38
      ICount:          277
      EdgeCount:       49
      CyclomaticComplexity: 13
      functionsReached:
        - _lws_log
        - fe_lws_ss_destroy
        - lejp_destruct
        - lws_dll2_foreach_safe
        - lws_humanize
        - lws_realloc
        - lws_smd_msg_printf
        - lws_ss_policy_ref_trust_store
        - lws_vh_tag
        - lws_vhost_destroy
        - lwsac_free
        - lwsac_total_alloc
        - lwsac_total_overhead
        - time
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-common.c:430,2'
          Dst:             lejp_destruct
        - Src:             'lib/secure-streams/policy-common.c:455,4'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/secure-streams/policy-common.c:455,4'
          Dst:             fe_lws_ss_destroy
        - Src:             'lib/secure-streams/policy-common.c:466,3'
          Dst:             lwsac_free
        - Src:             'lib/secure-streams/policy-common.c:494,5'
          Dst:             lws_vh_tag
        - Src:             'lib/secure-streams/policy-common.c:494,5'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-common.c:495,5'
          Dst:             lws_vhost_destroy
        - Src:             'lib/secure-streams/policy-common.c:506,33'
          Dst:             lwsac_total_alloc
        - Src:             'lib/secure-streams/policy-common.c:506,2'
          Dst:             lws_humanize
        - Src:             'lib/secure-streams/policy-common.c:508,6'
          Dst:             lwsac_total_alloc
        - Src:             'lib/secure-streams/policy-common.c:509,14'
          Dst:             lwsac_total_overhead
        - Src:             'lib/secure-streams/policy-common.c:510,5'
          Dst:             lwsac_total_alloc
        - Src:             'lib/secure-streams/policy-common.c:515,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-common.c:531,8'
          Dst:             lws_ss_policy_ref_trust_store
        - Src:             'lib/secure-streams/policy-common.c:573,4'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/policy-common.c:580,25'
          Dst:             time
        - Src:             'lib/secure-streams/policy-common.c:589,2'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/policy-common.c:597,8'
          Dst:             lws_smd_msg_printf
    - functionName:    lws_ss_policy_ref_trust_store
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 380
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          232
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log
        - lws_create_vhost
        - lws_get_vhost_by_name
        - lws_tls_client_vhost_extra_cert_mem
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-common.c:312,7'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/secure-streams/policy-common.c:318,8'
          Dst:             lws_create_vhost
        - Src:             'lib/secure-streams/policy-common.c:320,5'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-common.c:329,6'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/secure-streams/policy-common.c:331,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-common.c:337,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-common.c:348,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-common.c:351,6'
          Dst:             lws_create_vhost
        - Src:             'lib/secure-streams/policy-common.c:353,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-common.c:360,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-common.c:363,7'
          Dst:             lws_tls_client_vhost_extra_cert_mem
        - Src:             'lib/secure-streams/policy-common.c:366,4'
          Dst:             _lws_log
    - functionName:    lws_ss_policy_metadata_index
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 269
      functionLinenumberEnd: 279
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          44
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ss_policy_metadata
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 255
      functionLinenumberEnd: 265
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          63
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-common.c:259,21'
          Dst:             strcmp
    - functionName:    lws_ss_get_metadata
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          59
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - lws_service_assert_loop_thread
        - lws_ss_get_handle_metadata
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-common.c:166,27'
          Dst:             lws_ss_get_handle_metadata
        - Src:             'lib/secure-streams/policy-common.c:171,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/policy-common.c:216,2'
          Dst:             _lws_log
    - functionName:    lws_ss_get_handle_metadata
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 223
      functionLinenumberEnd: 233
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          75
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - lws_service_assert_loop_thread
        - strcmp
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-common.c:226,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/policy-common.c:229,8'
          Dst:             strcmp
    - functionName:    lws_ss_alloc_set_metadata
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          54
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - _lws_ss_alloc_set_metadata
        - lws_service_assert_loop_thread
        - lws_ss_get_handle_metadata
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-common.c:150,27'
          Dst:             lws_ss_get_handle_metadata
        - Src:             'lib/secure-streams/policy-common.c:152,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/policy-common.c:155,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-common.c:159,9'
          Dst:             _lws_ss_alloc_set_metadata
    - functionName:    _lws_ss_alloc_set_metadata
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          97
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_ss_set_metadata
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-common.c:125,3'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/policy-common.c:129,6'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/policy-common.c:133,6'
          Dst:             _lws_ss_set_metadata
        - Src:             'lib/secure-streams/policy-common.c:135,3'
          Dst:             lws_realloc
    - functionName:    _lws_ss_set_metadata
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          61
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - lws_realloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-common.c:69,3'
          Dst:             lws_realloc
    - functionName:    lws_ss_set_metadata
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          54
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - _lws_ss_set_metadata
        - lws_service_assert_loop_thread
        - lws_ss_get_handle_metadata
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-common.c:86,27'
          Dst:             lws_ss_get_handle_metadata
        - Src:             'lib/secure-streams/policy-common.c:88,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/policy-common.c:91,10'
          Dst:             _lws_ss_set_metadata
        - Src:             'lib/secure-streams/policy-common.c:113,2'
          Dst:             _lws_log
    - functionName:    lws_ss_policy_lookup
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          70
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-common.c:45,7'
          Dst:             strcmp
        - Src:             'lib/secure-streams/policy-common.c:50,8'
          Dst:             strcmp
    - functionName:    ss_cpd_state
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          92
      EdgeCount:       23
      CyclomaticComplexity: 13
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_ss
        - lws_ss_request_tx
        - lws_ss_start_timeout
        - lws_ss_state_name
        - lws_system_cpd_set
        - lwsl_ss_get_cx
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:47,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:44,2'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:44,2'
          Dst:             lws_ss_state_name
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:44,2'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:44,2'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:49,3'
          Dst:             lws_ss_start_timeout
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:50,10'
          Dst:             lws_ss_request_tx
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:53,3'
          Dst:             lws_system_cpd_set
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:64,3'
          Dst:             lws_system_cpd_set
    - functionName:    lws_ss_sys_cpd
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          51
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_context
        - lws_ss_create
        - lwsl_context_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:87,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:87,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:87,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:91,6'
          Dst:             lws_ss_create
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:92,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:92,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:92,3'
          Dst:             lws_log_prepend_context
    - functionName:    secstream_connect_munge_raw
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-raw.c'
      linkageType:     InternalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    secstream_raw
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-raw.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         69
      ICount:          493
      EdgeCount:       90
      CyclomaticComplexity: 23
      functionsReached:
        - __assert_fail
        - _lws_log
        - _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - lws_conmon_ss_json
        - lws_dll2_remove
        - lws_get_opaque_user_data
        - lws_set_timeout
        - lws_ss_backoff
        - lws_ss_event_helper
        - lws_ss_tag
        - lws_sul_cancel
        - lws_validity_confirmed
        - lws_write
        - read
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/secure-streams/protocols/ss-raw.c:43,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/protocols/ss-raw.c:36,42'
          Dst:             lws_get_opaque_user_data
        - Src:             'lib/secure-streams/protocols/ss-raw.c:46,3'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/protocols/ss-raw.c:47,3'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/protocols/ss-raw.c:48,3'
          Dst:             lws_ss_tag
        - Src:             'lib/secure-streams/protocols/ss-raw.c:48,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-raw.c:52,3'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/secure-streams/protocols/ss-raw.c:55,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-raw.c:57,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-raw.c:59,7'
          Dst:             lws_ss_backoff
        - Src:             'lib/secure-streams/protocols/ss-raw.c:61,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-raw.c:67,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/protocols/ss-raw.c:70,3'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/secure-streams/protocols/ss-raw.c:73,3'
          Dst:             lws_ss_tag
        - Src:             'lib/secure-streams/protocols/ss-raw.c:73,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-raw.c:78,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/protocols/ss-raw.c:83,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-raw.c:85,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-raw.c:92,8'
          Dst:             lws_ss_backoff
        - Src:             'lib/secure-streams/protocols/ss-raw.c:94,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-raw.c:101,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-raw.c:105,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/protocols/ss-raw.c:112,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-raw.c:114,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-raw.c:116,3'
          Dst:             lws_validity_confirmed
        - Src:             'lib/secure-streams/protocols/ss-raw.c:120,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-raw.c:126,25'
          Dst:             read
        - Src:             'lib/secure-streams/protocols/ss-raw.c:139,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-raw.c:144,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-raw.c:153,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-raw.c:161,7'
          Dst:             lws_write
        - Src:             'lib/secure-streams/protocols/ss-raw.c:163,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-raw.c:167,3'
          Dst:             lws_set_timeout
    - functionName:    lws_ss_policy_find_auth_by_name
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 287
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          79
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - strlen
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-json.c:279,14'
          Dst:             strlen
        - Src:             'lib/secure-streams/policy-json.c:280,8'
          Dst:             strncmp
    - functionName:    lws_ss_policy_alloc_helper
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 291
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          75
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lwsac_use_zero
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-json.c:297,20'
          Dst:             lwsac_use_zero
    - functionName:    lws_ss_auth_get
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1316
      functionLinenumberEnd: 1323
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          30
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ss_policy_get
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1305
      functionLinenumberEnd: 1312
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          30
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ss_policy_overlay
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1297
      functionLinenumberEnd: 1300
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_ss_policy_parse
        - lws_ss_policy_parse_begin
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-json.c:1298,2'
          Dst:             lws_ss_policy_parse_begin
        - Src:             'lib/secure-streams/policy-json.c:1300,8'
          Dst:             strlen
        - Src:             'lib/secure-streams/policy-json.c:1299,9'
          Dst:             lws_ss_policy_parse
    - functionName:    lws_ss_policy_parse_begin
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1160
      functionLinenumberEnd: 1191
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          92
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
        - lejp_construct
        - lws_realloc
        - lws_ss_policy_parser_cb
        - lws_zalloc
        - lwsac_use
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-json.c:1164,9'
          Dst:             lws_zalloc
        - Src:             'lib/secure-streams/policy-json.c:1166,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:1179,6'
          Dst:             lwsac_use
        - Src:             'lib/secure-streams/policy-json.c:1181,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:1182,3'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/policy-json.c:1187,2'
          Dst:             lejp_construct
        - Src:             'lib/secure-streams/policy-json.c:1187,2'
          Dst:             lws_ss_policy_parser_cb
    - functionName:    lws_ss_policy_parse
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1273
      functionLinenumberEnd: 1293
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          113
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - _lws_log
        - lejp_error_to_string
        - lejp_parse
        - lws_ss_policy_parse_abandon
        - lws_ss_policy_parse_file
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-json.c:1279,10'
          Dst:             lws_ss_policy_parse_file
        - Src:             'lib/secure-streams/policy-json.c:1283,6'
          Dst:             lejp_parse
        - Src:             'lib/secure-streams/policy-json.c:1287,2'
          Dst:             lejp_error_to_string
        - Src:             'lib/secure-streams/policy-json.c:1287,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:1289,2'
          Dst:             lws_ss_policy_parse_abandon
        - Src:             'lib/secure-streams/policy-json.c:1290,2'
          Dst:             __assert_fail
    - functionName:    lws_ss_policy_parse_file
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1231
      functionLinenumberEnd: 1268
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          122
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - close
        - lejp_error_to_string
        - lejp_parse
        - lws_log_prepend_context
        - lws_open
        - lws_ss_policy_parse_abandon
        - lwsl_context_get_cx
        - read
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-json.c:1234,17'
          Dst:             lws_open
        - Src:             'lib/secure-streams/policy-json.c:1237,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/policy-json.c:1237,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/policy-json.c:1237,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/policy-json.c:1242,12'
          Dst:             read
        - Src:             'lib/secure-streams/policy-json.c:1248,7'
          Dst:             lejp_parse
        - Src:             'lib/secure-streams/policy-json.c:1250,4'
          Dst:             lejp_error_to_string
        - Src:             'lib/secure-streams/policy-json.c:1250,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:1253,4'
          Dst:             lws_ss_policy_parse_abandon
        - Src:             'lib/secure-streams/policy-json.c:1265,2'
          Dst:             close
    - functionName:    lws_ss_policy_parse_abandon
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1195
      functionLinenumberEnd: 1225
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          88
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lejp_destruct
        - lws_realloc
        - lwsac_free
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-json.c:1198,1'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:1205,3'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/policy-json.c:1213,3'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/policy-json.c:1219,2'
          Dst:             lejp_destruct
        - Src:             'lib/secure-streams/policy-json.c:1220,2'
          Dst:             lwsac_free
        - Src:             'lib/secure-streams/policy-json.c:1221,2'
          Dst:             lws_realloc
    - functionName:    lws_ss_policy_parser_cb
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 310
      functionLinenumberEnd: 1156
      functionDepth:   0
      returnType:      char
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         348
      ICount:          3035
      EdgeCount:       439
      CyclomaticComplexity: 93
      functionsReached:
        - _lws_log
        - atoi
        - atol
        - lws_b64_decode_stateful
        - lws_http_string_to_known_header
        - lws_realloc
        - lws_ss_policy_alloc_helper
        - lws_ss_policy_find_auth_by_name
        - lws_strncpy
        - lwsac_free
        - lwsac_scan_extant
        - lwsac_use
        - lwsac_use_backfill
        - lwsac_use_zero
        - strlen
        - strncmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/secure-streams/policy-json.c:330,2'
          Branch Sides:    []
        - Branch String:   'lib/secure-streams/policy-json.c:484,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/policy-json.c:363,7'
          Dst:             lws_ss_policy_alloc_helper
        - Src:             'lib/secure-streams/policy-json.c:370,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:379,43'
          Dst:             lwsac_use_zero
        - Src:             'lib/secure-streams/policy-json.c:409,33'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/policy-json.c:418,3'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/policy-json.c:437,10'
          Dst:             strncmp
        - Src:             'lib/secure-streams/policy-json.c:441,6'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:457,19'
          Dst:             lwsac_use_zero
        - Src:             'lib/secure-streams/policy-json.c:463,11'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/policy-json.c:505,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:509,36'
          Dst:             lwsac_use_zero
        - Src:             'lib/secure-streams/policy-json.c:516,45'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:520,55'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:524,55'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:528,63'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:532,65'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:537,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:543,3'
          Dst:             lws_b64_decode_stateful
        - Src:             'lib/secure-streams/policy-json.c:548,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:554,7'
          Dst:             lws_ss_policy_alloc_helper
        - Src:             'lib/secure-streams/policy-json.c:565,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:568,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:572,9'
          Dst:             strncmp
        - Src:             'lib/secure-streams/policy-json.c:580,3'
          Dst:             lws_strncpy
        - Src:             'lib/secure-streams/policy-json.c:581,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:613,42'
          Dst:             strlen
        - Src:             'lib/secure-streams/policy-json.c:613,9'
          Dst:             lwsac_use
        - Src:             'lib/secure-streams/policy-json.c:619,28'
          Dst:             strlen
        - Src:             'lib/secure-streams/policy-json.c:620,39'
          Dst:             strlen
        - Src:             'lib/secure-streams/policy-json.c:648,9'
          Dst:             strncmp
        - Src:             'lib/secure-streams/policy-json.c:660,5'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:686,3'
          Dst:             lws_strncpy
        - Src:             'lib/secure-streams/policy-json.c:687,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:699,43'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:703,51'
          Dst:             atol
        - Src:             'lib/secure-streams/policy-json.c:708,17'
          Dst:             atol
        - Src:             'lib/secure-streams/policy-json.c:712,17'
          Dst:             atol
        - Src:             'lib/secure-streams/policy-json.c:716,52'
          Dst:             atol
        - Src:             'lib/secure-streams/policy-json.c:721,17'
          Dst:             atol
        - Src:             'lib/secure-streams/policy-json.c:725,17'
          Dst:             atol
        - Src:             'lib/secure-streams/policy-json.c:753,50'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:757,46'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:760,57'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:764,49'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:768,46'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:853,9'
          Dst:             strncmp
        - Src:             'lib/secure-streams/policy-json.c:860,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:867,9'
          Dst:             strncmp
        - Src:             'lib/secure-streams/policy-json.c:873,3'
          Dst:             lws_strncpy
        - Src:             'lib/secure-streams/policy-json.c:874,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:884,4'
          Dst:             lws_ss_policy_find_auth_by_name
        - Src:             'lib/secure-streams/policy-json.c:886,4'
          Dst:             lws_strncpy
        - Src:             'lib/secure-streams/policy-json.c:887,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:895,37'
          Dst:             lwsac_use_zero
        - Src:             'lib/secure-streams/policy-json.c:920,4'
          Dst:             lws_http_string_to_known_header
        - Src:             'lib/secure-streams/policy-json.c:933,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:937,5'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:938,42'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:1104,8'
          Dst:             strlen
        - Src:             'lib/secure-streams/policy-json.c:1105,9'
          Dst:             strncmp
        - Src:             'lib/secure-streams/policy-json.c:1110,3'
          Dst:             lws_strncpy
        - Src:             'lib/secure-streams/policy-json.c:1111,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:1125,11'
          Dst:             lwsac_scan_extant
        - Src:             'lib/secure-streams/policy-json.c:1131,8'
          Dst:             lwsac_use_backfill
        - Src:             'lib/secure-streams/policy-json.c:1141,8'
          Dst:             lwsac_use_backfill
        - Src:             'lib/secure-streams/policy-json.c:1151,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:1152,2'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/policy-json.c:1153,2'
          Dst:             lwsac_free
    - functionName:    atol
      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:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    policy_set
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/system/fetch-policy/fetch-policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - lws_ss_destroy
        - lws_ss_policy_set
        - lws_state_transition_steps
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:81,2'
          Dst:             lws_ss_destroy
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:83,6'
          Dst:             lws_ss_policy_set
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:84,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:88,3'
          Dst:             lws_state_transition_steps
    - functionName:    ss_fetch_policy_state
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/system/fetch-policy/fetch-policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          99
      EdgeCount:       29
      CyclomaticComplexity: 16
      functionsReached:
        - _lws_log
        - lws_ss_policy_parse_abandon
        - lws_ss_request_tx
        - lws_ss_state_name
        - lws_sul_schedule
        - policy_set
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/secure-streams/system/fetch-policy/fetch-policy.c:104,2'
          Branch Sides:    []
        - Branch String:   'lib/secure-streams/system/fetch-policy/fetch-policy.c:112,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:101,2'
          Dst:             lws_ss_state_name
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:101,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:106,10'
          Dst:             lws_ss_request_tx
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:114,4'
          Dst:             lws_sul_schedule
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:114,4'
          Dst:             policy_set
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:122,4'
          Dst:             lws_ss_policy_parse_abandon
    - functionName:    ss_fetch_policy_tx
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/system/fetch-policy/fetch-policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ss_fetch_policy_rx
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/system/fetch-policy/fetch-policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          97
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - lws_ss_policy_parse
        - lws_ss_policy_parse_begin
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:48,7'
          Dst:             lws_ss_policy_parse_begin
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:53,13'
          Dst:             lws_ss_policy_parse
    - functionName:    lws_ss_sys_fetch_policy
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/system/fetch-policy/fetch-policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          61
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lws_ss_create
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:154,6'
          Dst:             lws_ss_create
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:161,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:166,2'
          Dst:             _lws_log
    - functionName:    secstream_connect_munge_h1
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1245
      functionLinenumberEnd: 1294
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          196
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - __lws_lc_tag_append
        - lws_ss_exp_cb_metadata
        - lws_strexp_expand
        - lws_strexp_init
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1282,2'
          Dst:             lws_strexp_init
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1282,2'
          Dst:             lws_ss_exp_cb_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1284,38'
          Dst:             strlen
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1284,6'
          Dst:             lws_strexp_expand
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1291,2'
          Dst:             __lws_lc_tag_append
    - functionName:    ss_http_multipart_parser
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 187
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         73
      ICount:          686
      EdgeCount:       99
      CyclomaticComplexity: 28
      functionsReached:
        - _lws_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/protocols/ss-h1.c:70,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:115,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:121,4'
          Dst:             _lws_log
    - functionName:    lws_apply_metadata
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 216
      functionLinenumberEnd: 273
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          260
      EdgeCount:       52
      CyclomaticComplexity: 16
      functionsReached:
        - atoi
        - lws_add_http_header_by_name
        - lws_add_http_header_by_token
        - lws_client_http_body_pending
        - lws_snprintf
        - strcmp
        - strncmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/protocols/ss-h1.c:227,8'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/secure-streams/protocols/ss-h1.c:240,9'
          Dst:             strncmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:241,8'
          Dst:             atoi
        - Src:             'lib/secure-streams/protocols/ss-h1.c:242,5'
          Dst:             lws_client_http_body_pending
        - Src:             'lib/secure-streams/protocols/ss-h1.c:255,5'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:256,5'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:258,5'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:262,12'
          Dst:             lws_snprintf
        - Src:             'lib/secure-streams/protocols/ss-h1.c:264,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/secure-streams/protocols/ss-h1.c:269,3'
          Dst:             lws_client_http_body_pending
    - functionName:    lws_ss_http_resp_to_state
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          64
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_extract_metadata
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 316
      functionLinenumberEnd: 422
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         39
      ICount:          259
      EdgeCount:       51
      CyclomaticComplexity: 14
      functionsReached:
        - __assert_fail
        - _lws_ss_alloc_set_metadata
        - _lws_ss_set_metadata
        - lws_hdr_custom_copy
        - lws_hdr_custom_length
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_realloc
        - lws_ss_get_handle_metadata
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/protocols/ss-h1.c:326,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:328,22'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:330,11'
          Dst:             lws_ss_get_handle_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:334,5'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:334,5'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/protocols/ss-h1.c:341,5'
          Dst:             _lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:368,9'
          Dst:             lws_hdr_custom_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:374,10'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/protocols/ss-h1.c:383,10'
          Dst:             lws_hdr_custom_copy
        - Src:             'lib/secure-streams/protocols/ss-h1.c:391,7'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/protocols/ss-h1.c:397,7'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/protocols/ss-h1.c:402,12'
          Dst:             lws_ss_get_handle_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:406,7'
          Dst:             _lws_ss_set_metadata
    - functionName:    secstream_h1
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 434
      functionLinenumberEnd: 1224
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         378
      ICount:          2624
      EdgeCount:       519
      CyclomaticComplexity: 143
      functionsReached:
        - __assert_fail
        - _lws_log
        - _lws_ss_backoff
        - _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - lws_add_http_common_headers
        - lws_add_http_header_by_name
        - lws_apply_metadata
        - lws_callback_http_dummy
        - lws_callback_on_writable
        - lws_cancel_service
        - lws_client_http_body_pending
        - lws_client_http_multipart
        - lws_conmon_ss_json
        - lws_dll2_remove
        - lws_extract_metadata
        - lws_finalize_write_http_header
        - lws_get_context
        - lws_get_opaque_user_data
        - lws_get_urlarg_by_name_safe
        - lws_hdr_copy
        - lws_hdr_fragment_length
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_http_check_retry_after
        - lws_http_client_http_response
        - lws_http_client_read
        - lws_http_transaction_completed
        - lws_set_timeout
        - lws_snprintf
        - lws_ss_alloc_set_metadata
        - lws_ss_assert_extant
        - lws_ss_backoff
        - lws_ss_event_helper
        - lws_ss_http_resp_to_state
        - lws_ss_policy_lookup
        - lws_strncpy
        - lws_sul_cancel
        - lws_system_blob_get
        - lws_system_cpd_set
        - lws_system_get_blob
        - lws_tokenize
        - lws_validity_confirmed
        - lws_write
        - lws_wsi_tag
        - ss_http_multipart_parser
        - strcmp
        - strlen
        - strncmp
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib/secure-streams/protocols/ss-h1.c:450,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/protocols/ss-h1.c:438,42'
          Dst:             lws_get_opaque_user_data
        - Src:             'lib/secure-streams/protocols/ss-h1.c:454,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/secure-streams/protocols/ss-h1.c:454,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:458,3'
          Dst:             lws_ss_assert_extant
        - Src:             'lib/secure-streams/protocols/ss-h1.c:460,3'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/protocols/ss-h1.c:463,3'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/secure-streams/protocols/ss-h1.c:467,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:471,8'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:473,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:476,8'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:483,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:488,7'
          Dst:             lws_ss_backoff
        - Src:             'lib/secure-streams/protocols/ss-h1.c:494,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:504,23'
          Dst:             lws_get_context
        - Src:             'lib/secure-streams/protocols/ss-h1.c:504,4'
          Dst:             lws_system_cpd_set
        - Src:             'lib/secure-streams/protocols/ss-h1.c:517,3'
          Dst:             lws_ss_assert_extant
        - Src:             'lib/secure-streams/protocols/ss-h1.c:523,11'
          Dst:             lws_http_client_http_response
        - Src:             'lib/secure-streams/protocols/ss-h1.c:526,3'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/secure-streams/protocols/ss-h1.c:539,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/protocols/ss-h1.c:548,8'
          Dst:             lws_ss_backoff
        - Src:             'lib/secure-streams/protocols/ss-h1.c:550,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:552,5'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/protocols/ss-h1.c:557,4'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/protocols/ss-h1.c:562,8'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:564,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:573,3'
          Dst:             lws_ss_assert_extant
        - Src:             'lib/secure-streams/protocols/ss-h1.c:581,11'
          Dst:             lws_http_client_http_response
        - Src:             'lib/secure-streams/protocols/ss-h1.c:584,3'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/secure-streams/protocols/ss-h1.c:587,17'
          Dst:             lws_http_client_http_response
        - Src:             'lib/secure-streams/protocols/ss-h1.c:588,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:610,4'
          Dst:             lws_http_check_retry_after
        - Src:             'lib/secure-streams/protocols/ss-h1.c:612,8'
          Dst:             _lws_ss_backoff
        - Src:             'lib/secure-streams/protocols/ss-h1.c:614,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:626,7'
          Dst:             lws_extract_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:627,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:640,12'
          Dst:             lws_ss_http_resp_to_state
        - Src:             'lib/secure-streams/protocols/ss-h1.c:642,9'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:644,13'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:650,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:653,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:660,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/protocols/ss-h1.c:670,9'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:672,13'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:678,9'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:680,13'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:688,3'
          Dst:             lws_validity_confirmed
        - Src:             'lib/secure-streams/protocols/ss-h1.c:700,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/secure-streams/protocols/ss-h1.c:705,9'
          Dst:             strncmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:706,9'
          Dst:             strncmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:714,13'
          Dst:             strlen
        - Src:             'lib/secure-streams/protocols/ss-h1.c:721,9'
          Dst:             lws_tokenize
        - Src:             'lib/secure-streams/protocols/ss-h1.c:723,10'
          Dst:             strncmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:725,10'
          Dst:             lws_tokenize
        - Src:             'lib/secure-streams/protocols/ss-h1.c:732,6'
          Dst:             lws_strncpy
        - Src:             'lib/secure-streams/protocols/ss-h1.c:741,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:755,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:792,9'
          Dst:             lws_snprintf
        - Src:             'lib/secure-streams/protocols/ss-h1.c:798,9'
          Dst:             lws_system_get_blob
        - Src:             'lib/secure-streams/protocols/ss-h1.c:803,8'
          Dst:             lws_system_blob_get
        - Src:             'lib/secure-streams/protocols/ss-h1.c:808,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:810,8'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/secure-streams/protocols/ss-h1.c:820,7'
          Dst:             lws_apply_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:855,6'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:856,6'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:858,6'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:862,9'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:864,13'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:873,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:881,11'
          Dst:             ss_http_multipart_parser
        - Src:             'lib/secure-streams/protocols/ss-h1.c:897,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:907,8'
          Dst:             lws_http_client_read
        - Src:             'lib/secure-streams/protocols/ss-h1.c:912,4'
          Dst:             lws_set_timeout
        - Src:             'lib/secure-streams/protocols/ss-h1.c:929,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/protocols/ss-h1.c:940,8'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:942,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:947,8'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:951,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:953,22'
          Dst:             lws_get_context
        - Src:             'lib/secure-streams/protocols/ss-h1.c:953,3'
          Dst:             lws_cancel_service
        - Src:             'lib/secure-streams/protocols/ss-h1.c:960,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:972,8'
          Dst:             lws_add_http_common_headers
        - Src:             'lib/secure-streams/protocols/ss-h1.c:987,8'
          Dst:             lws_apply_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:990,8'
          Dst:             lws_finalize_write_http_header
        - Src:             'lib/secure-streams/protocols/ss-h1.c:994,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1014,4'
          Dst:             lws_client_http_multipart
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1030,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1044,5'
          Dst:             lws_client_http_body_pending
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1047,6'
          Dst:             lws_client_http_multipart
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1052,20'
          Dst:             lws_ss_policy_lookup
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1054,5'
          Dst:             lws_callback_on_writable
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1066,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1069,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1072,7'
          Dst:             lws_write
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1076,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1083,8'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1099,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1107,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1110,11'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1109,9'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1113,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1115,11'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1114,14'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1121,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1124,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1123,10'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1127,10'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1129,10'
          Dst:             lws_hdr_fragment_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1131,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1130,15'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1135,10'
          Dst:             lws_hdr_total_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1138,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1137,11'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1141,11'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1143,11'
          Dst:             lws_hdr_fragment_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1145,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1144,16'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1150,11'
          Dst:             lws_hdr_total_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1153,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1152,12'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1156,12'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1158,12'
          Dst:             lws_hdr_fragment_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1160,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1159,17'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1179,9'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1181,13'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1197,14'
          Dst:             lws_get_urlarg_by_name_safe
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1201,11'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1211,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1213,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1223,9'
          Dst:             lws_callback_http_dummy
    - functionName:    secstream_tx_credit_est_h2
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 208
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - lws_h2_get_peer_txcredit_estimate
        - lws_ss_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/protocols/ss-h2.c:210,3'
          Dst:             lws_ss_tag
        - Src:             'lib/secure-streams/protocols/ss-h2.c:210,3'
          Dst:             lws_h2_get_peer_txcredit_estimate
        - Src:             'lib/secure-streams/protocols/ss-h2.c:210,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h2.c:213,10'
          Dst:             lws_h2_get_peer_txcredit_estimate
        - Src:             'lib/secure-streams/protocols/ss-h2.c:216,2'
          Dst:             lws_ss_tag
        - Src:             'lib/secure-streams/protocols/ss-h2.c:216,2'
          Dst:             _lws_log
    - functionName:    secstream_tx_credit_add_h2
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - lws_h2_update_peer_txcredit
        - lws_ss_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/protocols/ss-h2.c:199,2'
          Dst:             lws_ss_tag
        - Src:             'lib/secure-streams/protocols/ss-h2.c:199,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h2.c:201,10'
          Dst:             lws_h2_update_peer_txcredit
    - functionName:    secstream_connect_munge_h2
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 194
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          245
      EdgeCount:       38
      CyclomaticComplexity: 11
      functionsReached:
        - __lws_lc_tag_append
        - _lws_log
        - lws_ss_exp_cb_metadata
        - lws_strexp_expand
        - lws_strexp_init
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/protocols/ss-h2.c:173,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h2.c:185,2'
          Dst:             lws_strexp_init
        - Src:             'lib/secure-streams/protocols/ss-h2.c:185,2'
          Dst:             lws_ss_exp_cb_metadata
        - Src:             'lib/secure-streams/protocols/ss-h2.c:187,38'
          Dst:             strlen
        - Src:             'lib/secure-streams/protocols/ss-h2.c:187,6'
          Dst:             lws_strexp_expand
        - Src:             'lib/secure-streams/protocols/ss-h2.c:191,2'
          Dst:             __lws_lc_tag_append
    - functionName:    secstream_h2
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          210
      EdgeCount:       43
      CyclomaticComplexity: 11
      functionsReached:
        - _lws_log
        - _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - lws_cancel_service
        - lws_get_context
        - lws_get_opaque_user_data
        - lws_h2_client_stream_long_poll_rxonly
        - lws_wsi_tag
        - secstream_h1
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/secure-streams/protocols/ss-h2.c:39,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/protocols/ss-h2.c:35,42'
          Dst:             lws_get_opaque_user_data
        - Src:             'lib/secure-streams/protocols/ss-h2.c:59,7'
          Dst:             secstream_h1
        - Src:             'lib/secure-streams/protocols/ss-h2.c:62,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/secure-streams/protocols/ss-h2.c:62,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h2.c:64,4'
          Dst:             lws_h2_client_stream_long_poll_rxonly
        - Src:             'lib/secure-streams/protocols/ss-h2.c:89,22'
          Dst:             lws_get_context
        - Src:             'lib/secure-streams/protocols/ss-h2.c:89,3'
          Dst:             lws_cancel_service
        - Src:             'lib/secure-streams/protocols/ss-h2.c:91,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h2.c:103,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h2.c:117,9'
          Dst:             secstream_h1
    - functionName:    lws_write_ws_flags
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-write.h'
      linkageType:     InternalLinkage
      functionLinenumber: 229
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          42
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    secstream_connect_munge_ws
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 255
      functionLinenumberEnd: 292
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          158
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - __lws_lc_tag_append
        - _lws_log_cx
        - lws_log_prepend_ss
        - lws_ss_exp_cb_metadata
        - lws_strexp_expand
        - lws_strexp_init
        - lwsl_ss_get_cx
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/protocols/ss-ws.c:279,2'
          Dst:             lws_strexp_init
        - Src:             'lib/secure-streams/protocols/ss-ws.c:279,2'
          Dst:             lws_ss_exp_cb_metadata
        - Src:             'lib/secure-streams/protocols/ss-ws.c:281,38'
          Dst:             strlen
        - Src:             'lib/secure-streams/protocols/ss-ws.c:281,6'
          Dst:             lws_strexp_expand
        - Src:             'lib/secure-streams/protocols/ss-ws.c:285,2'
          Dst:             __lws_lc_tag_append
        - Src:             'lib/secure-streams/protocols/ss-ws.c:289,2'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/protocols/ss-ws.c:289,2'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/protocols/ss-ws.c:289,2'
          Dst:             lws_log_prepend_ss
    - functionName:    secstream_ws
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 233
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         113
      ICount:          770
      EdgeCount:       147
      CyclomaticComplexity: 36
      functionsReached:
        - __assert_fail
        - _lws_log
        - _lws_log_cx
        - _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - lws_callback_http_dummy
        - lws_conmon_ss_json
        - lws_dll2_remove
        - lws_get_opaque_user_data
        - lws_is_final_fragment
        - lws_is_first_fragment
        - lws_log_prepend_ss
        - lws_set_opaque_user_data
        - lws_ss_backoff
        - lws_ss_destroy
        - lws_ss_event_helper
        - lws_sul_cancel
        - lws_write
        - lws_write_ws_flags
        - lwsl_ss_get_cx
        - secstream_h1
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/secure-streams/protocols/ss-ws.c:45,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/protocols/ss-ws.c:38,42'
          Dst:             lws_get_opaque_user_data
        - Src:             'lib/secure-streams/protocols/ss-ws.c:49,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-ws.c:55,3'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/secure-streams/protocols/ss-ws.c:58,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-ws.c:60,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-ws.c:63,7'
          Dst:             lws_ss_backoff
        - Src:             'lib/secure-streams/protocols/ss-ws.c:65,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-ws.c:72,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/protocols/ss-ws.c:75,3'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/secure-streams/protocols/ss-ws.c:78,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-ws.c:80,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-ws.c:83,4'
          Dst:             lws_set_opaque_user_data
        - Src:             'lib/secure-streams/protocols/ss-ws.c:88,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/protocols/ss-ws.c:99,9'
          Dst:             lws_ss_backoff
        - Src:             'lib/secure-streams/protocols/ss-ws.c:101,13'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-ws.c:111,5'
          Dst:             lws_ss_destroy
        - Src:             'lib/secure-streams/protocols/ss-ws.c:128,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/protocols/ss-ws.c:135,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-ws.c:137,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-ws.c:145,7'
          Dst:             lws_is_first_fragment
        - Src:             'lib/secure-streams/protocols/ss-ws.c:147,7'
          Dst:             lws_is_final_fragment
        - Src:             'lib/secure-streams/protocols/ss-ws.c:155,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-ws.c:166,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-ws.c:191,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-ws.c:194,4'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/protocols/ss-ws.c:194,4'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/protocols/ss-ws.c:194,4'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/protocols/ss-ws.c:195,4'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/protocols/ss-ws.c:198,4'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/protocols/ss-ws.c:198,4'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/protocols/ss-ws.c:198,4'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/protocols/ss-ws.c:199,4'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/protocols/ss-ws.c:202,4'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/protocols/ss-ws.c:202,4'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/protocols/ss-ws.c:202,4'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/protocols/ss-ws.c:203,4'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/protocols/ss-ws.c:206,8'
          Dst:             lws_write_ws_flags
        - Src:             'lib/secure-streams/protocols/ss-ws.c:211,7'
          Dst:             lws_write
        - Src:             'lib/secure-streams/protocols/ss-ws.c:213,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-ws.c:225,10'
          Dst:             secstream_h1
        - Src:             'lib/secure-streams/protocols/ss-ws.c:232,9'
          Dst:             lws_callback_http_dummy
    - functionName:    lws_plat_drop_app_privileges
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-caps.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 279
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         47
      ICount:          308
      EdgeCount:       63
      CyclomaticComplexity: 18
      functionsReached:
        - __errno_location
        - _lws_log_cx
        - getgrgid_r
        - getpwuid_r
        - initgroups
        - lws_log_prepend_context
        - lws_plat_group_to_gid
        - lws_plat_user_to_uid
        - lwsl_context_get_cx
        - setgid
        - setuid
        - strerror
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-caps.c:167,8'
          Dst:             lws_plat_group_to_gid
        - Src:             'lib/plat/unix/unix-caps.c:168,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:168,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:168,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:172,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:172,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:172,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:182,8'
          Dst:             lws_plat_user_to_uid
        - Src:             'lib/plat/unix/unix-caps.c:184,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:184,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:184,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:187,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:187,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:187,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:203,7'
          Dst:             getgrgid_r
        - Src:             'lib/plat/unix/unix-caps.c:208,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:208,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:208,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:214,7'
          Dst:             setgid
        - Src:             'lib/plat/unix/unix-caps.c:215,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:215,4'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-caps.c:215,4'
          Dst:             strerror
        - Src:             'lib/plat/unix/unix-caps.c:215,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:215,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:221,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:221,3'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:221,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:223,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:223,3'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:223,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:233,7'
          Dst:             getpwuid_r
        - Src:             'lib/plat/unix/unix-caps.c:238,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:238,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:238,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:248,7'
          Dst:             initgroups
        - Src:             'lib/plat/unix/unix-caps.c:255,7'
          Dst:             setuid
        - Src:             'lib/plat/unix/unix-caps.c:256,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:256,4'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-caps.c:256,4'
          Dst:             strerror
        - Src:             'lib/plat/unix/unix-caps.c:256,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:256,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:261,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:261,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:261,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:276,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:276,3'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:276,3'
          Dst:             lws_log_prepend_context
    - functionName:    lws_plat_group_to_gid
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-caps.c'
      linkageType:     InternalLinkage
      functionLinenumber: 92
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          103
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - _lws_log
        - getgrnam_r
        - strtol
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-caps.c:101,14'
          Dst:             strtol
        - Src:             'lib/plat/unix/unix-caps.c:113,7'
          Dst:             getgrnam_r
        - Src:             'lib/plat/unix/unix-caps.c:119,4'
          Dst:             _lws_log
    - functionName:    lws_plat_user_to_uid
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-caps.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          103
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - _lws_log
        - getpwnam_r
        - strtol
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-caps.c:62,14'
          Dst:             strtol
        - Src:             'lib/plat/unix/unix-caps.c:74,7'
          Dst:             getpwnam_r
        - Src:             'lib/plat/unix/unix-caps.c:80,4'
          Dst:             _lws_log
    - functionName:    getgrgid_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    setgid
      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:    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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getpwuid_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    initgroups
      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:    setuid
      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:    getpwnam_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getgrnam_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_plat_user_colon_group_to_ids
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-caps.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          96
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - lws_plat_group_to_gid
        - lws_plat_user_to_uid
        - strchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-caps.c:132,22'
          Dst:             strchr
        - Src:             'lib/plat/unix/unix-caps.c:148,6'
          Dst:             lws_plat_group_to_gid
        - Src:             'lib/plat/unix/unix-caps.c:151,6'
          Dst:             lws_plat_user_to_uid
    - functionName:    lws_plat_context_late_destroy
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 258
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          68
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
        - close
        - lws_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-init.c:265,3'
          Dst:             lws_realloc
        - Src:             'lib/plat/unix/unix-init.c:268,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-init.c:270,3'
          Dst:             close
    - functionName:    lws_plat_context_early_destroy
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 253
      functionLinenumberEnd: 254
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_plat_context_early_init
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - signal
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-init.c:245,2'
          Dst:             signal
    - functionName:    lws_sul_plat_unix
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          172
      EdgeCount:       33
      CyclomaticComplexity: 9
      functionsReached:
        - __lws_sul_insert
        - _lws_log
        - _lws_vhost_init_server
        - getpid
        - kill
        - lws_now_usecs
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-init.c:58,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-init.c:59,8'
          Dst:             getpid
        - Src:             'lib/plat/unix/unix-init.c:59,3'
          Dst:             kill
        - Src:             'lib/plat/unix/unix-init.c:68,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-init.c:69,7'
          Dst:             _lws_vhost_init_server
        - Src:             'lib/plat/unix/unix-init.c:71,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-init.c:80,2'
          Dst:             lws_now_usecs
        - Src:             'lib/plat/unix/unix-init.c:80,2'
          Dst:             __lws_sul_insert
    - functionName:    kill
      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:    lws_plat_init
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          160
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - __lws_sul_insert
        - _lws_log
        - _lws_log_cx
        - getenv
        - lws_log_prepend_context
        - lws_now_usecs
        - lws_open
        - lws_zalloc
        - lwsl_context_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-init.c:131,24'
          Dst:             lws_zalloc
        - Src:             'lib/plat/unix/unix-init.c:135,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-init.c:135,3'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-init.c:135,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-init.c:167,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-init.c:167,2'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-init.c:167,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-init.c:171,7'
          Dst:             lws_open
        - Src:             'lib/plat/unix/unix-init.c:177,3'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-init.c:177,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-init.c:185,19'
          Dst:             getenv
        - Src:             'lib/plat/unix/unix-init.c:234,2'
          Dst:             lws_now_usecs
        - Src:             'lib/plat/unix/unix-init.c:234,2'
          Dst:             __lws_sul_insert
    - functionName:    _lws_plat_file_write
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          56
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-file.c:174,6'
          Dst:             write
    - functionName:    _lws_plat_file_read
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 166
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          65
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - read
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-file.c:154,6'
          Dst:             read
        - Src:             'lib/plat/unix/unix-file.c:160,2'
          Dst:             _lws_log
    - functionName:    _lws_plat_file_seek_cur
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          100
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log
        - lseek
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-file.c:137,6'
          Dst:             lseek
        - Src:             'lib/plat/unix/unix-file.c:142,3'
          Dst:             _lws_log
    - functionName:    _lws_plat_file_close
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 122
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - close
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-file.c:122,9'
          Dst:             close
    - functionName:    _lws_plat_file_open
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          93
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - close
        - fstat
        - lws_open
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-file.c:87,12'
          Dst:             lws_open
        - Src:             'lib/plat/unix/unix-file.c:93,6'
          Dst:             fstat
        - Src:             'lib/plat/unix/unix-file.c:110,2'
          Dst:             close
    - functionName:    lws_plat_read_file
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - close
        - lws_open
        - read
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-file.c:69,11'
          Dst:             lws_open
        - Src:             'lib/plat/unix/unix-file.c:75,6'
          Dst:             read
        - Src:             'lib/plat/unix/unix-file.c:76,2'
          Dst:             close
    - functionName:    lws_plat_write_file
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          59
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - close
        - lws_open
        - write
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-file.c:52,7'
          Dst:             lws_open
        - Src:             'lib/plat/unix/unix-file.c:57,6'
          Dst:             write
        - Src:             'lib/plat/unix/unix-file.c:58,2'
          Dst:             close
    - functionName:    lws_plat_apply_FD_CLOEXEC
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - fcntl
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-file.c:43,9'
          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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_plat_pipe_is_fd_assocated
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          42
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_plat_pipe_close
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          132
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - close
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-pipe.c:90,3'
          Dst:             close
        - Src:             'lib/plat/unix/unix-pipe.c:96,3'
          Dst:             close
    - functionName:    lws_plat_pipe_signal
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - eventfd_write
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-pipe.c:71,9'
          Dst:             eventfd_write
    - functionName:    eventfd_write
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_plat_pipe_create
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          99
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - eventfd
        - fcntl
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-pipe.c:37,26'
          Dst:             eventfd
        - Src:             'lib/plat/unix/unix-pipe.c:53,7'
          Dst:             fcntl
        - Src:             'lib/plat/unix/unix-pipe.c:56,8'
          Dst:             fcntl
    - functionName:    eventfd
      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:    lws_plat_service
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 279
      functionLinenumberEnd: 280
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_plat_service_tsi
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-service.c:280,9'
          Dst:             _lws_plat_service_tsi
    - functionName:    _lws_plat_service_tsi
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 275
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         55
      ICount:          417
      EdgeCount:       74
      CyclomaticComplexity: 21
      functionsReached:
        - __lws_change_pollfd
        - __lws_sul_service_ripe
        - _lws_plat_service_forced_tsi
        - lws_context_destroy
        - lws_now_usecs
        - lws_realloc
        - lws_service_adjust_timeout
        - lws_service_do_ripe_rxflow
        - poll
        - wsi_from_fd
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-service.c:99,9'
          Dst:             lws_now_usecs
        - Src:             'lib/plat/unix/unix-service.c:131,7'
          Dst:             __lws_sul_service_ripe
        - Src:             'lib/plat/unix/unix-service.c:146,7'
          Dst:             lws_service_adjust_timeout
        - Src:             'lib/plat/unix/unix-service.c:163,6'
          Dst:             poll
        - Src:             'lib/plat/unix/unix-service.c:224,10'
          Dst:             wsi_from_fd
        - Src:             'lib/plat/unix/unix-service.c:226,5'
          Dst:             __lws_change_pollfd
        - Src:             'lib/plat/unix/unix-service.c:233,3'
          Dst:             lws_realloc
        - Src:             'lib/plat/unix/unix-service.c:259,3'
          Dst:             lws_service_do_ripe_rxflow
        - Src:             'lib/plat/unix/unix-service.c:261,7'
          Dst:             _lws_plat_service_forced_tsi
        - Src:             'lib/plat/unix/unix-service.c:270,3'
          Dst:             lws_context_destroy
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _lws_plat_service_forced_tsi
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 67
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          130
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log
        - lws_service_do_ripe_rxflow
        - lws_service_fd_tsi
        - lws_service_flag_pending
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-service.c:42,6'
          Dst:             lws_service_flag_pending
        - Src:             'lib/plat/unix/unix-service.c:51,7'
          Dst:             lws_service_fd_tsi
        - Src:             'lib/plat/unix/unix-service.c:53,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-service.c:64,2'
          Dst:             lws_service_do_ripe_rxflow
    - functionName:    lws_poll_listen_fd
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 33
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - poll
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-service.c:33,9'
          Dst:             poll
    - functionName:    lws_plat_vhost_tls_client_ctx_init
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 647
      functionLinenumberEnd: 648
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_plat_ifconfig
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 583
      functionLinenumberEnd: 643
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          142
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - _lws_log
        - htonl
        - ioctl
        - lws_plat_if_up
        - lws_strncpy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-sockets.c:591,2'
          Dst:             lws_strncpy
        - Src:             'lib/plat/unix/unix-sockets.c:593,2'
          Dst:             lws_plat_if_up
        - Src:             'lib/plat/unix/unix-sockets.c:596,6'
          Dst:             ioctl
        - Src:             'lib/plat/unix/unix-sockets.c:597,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:608,7'
          Dst:             ioctl
        - Src:             'lib/plat/unix/unix-sockets.c:609,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:613,3'
          Dst:             lws_plat_if_up
        - Src:             'lib/plat/unix/unix-sockets.c:627,7'
          Dst:             ioctl
        - Src:             'lib/plat/unix/unix-sockets.c:628,4'
          Dst:             htonl
        - Src:             'lib/plat/unix/unix-sockets.c:628,4'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-sockets.c:628,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:635,3'
          Dst:             lws_plat_if_up
    - functionName:    lws_plat_if_up
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 524
      functionLinenumberEnd: 552
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          76
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
        - ioctl
        - lws_strncpy
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-sockets.c:529,2'
          Dst:             lws_strncpy
        - Src:             'lib/plat/unix/unix-sockets.c:531,6'
          Dst:             ioctl
        - Src:             'lib/plat/unix/unix-sockets.c:532,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:541,6'
          Dst:             ioctl
        - Src:             'lib/plat/unix/unix-sockets.c:542,3'
          Dst:             _lws_log
    - functionName:    ioctl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_plat_BINDTODEVICE
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 556
      functionLinenumberEnd: 579
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          63
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - _lws_log
        - lws_strncpy
        - setsockopt
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-sockets.c:566,2'
          Dst:             lws_strncpy
        - Src:             'lib/plat/unix/unix-sockets.c:568,6'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:569,3'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-sockets.c:569,3'
          Dst:             _lws_log
    - functionName:    lws_plat_rawudp_broadcast
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 485
      functionLinenumberEnd: 514
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          122
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - htons
        - if_nametoindex
        - ntohs
        - sendto
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-sockets.c:497,26'
          Dst:             ntohs
        - Src:             'lib/plat/unix/unix-sockets.c:509,32'
          Dst:             htons
        - Src:             'lib/plat/unix/unix-sockets.c:511,25'
          Dst:             if_nametoindex
        - Src:             'lib/plat/unix/unix-sockets.c:514,14'
          Dst:             sendto
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_plat_ifname_to_hwaddr
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 462
      functionLinenumberEnd: 480
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ioctl
        - lws_strncpy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-sockets.c:467,2'
          Dst:             lws_strncpy
        - Src:             'lib/plat/unix/unix-sockets.c:469,6'
          Dst:             ioctl
    - functionName:    lws_plat_inet_pton
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 456
      functionLinenumberEnd: 457
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - inet_pton
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-sockets.c:457,9'
          Dst:             inet_pton
    - functionName:    lws_plat_inet_ntop
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 450
      functionLinenumberEnd: 451
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - inet_ntop
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-sockets.c:451,9'
          Dst:             inet_ntop
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_interface_to_sa
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 351
      functionLinenumberEnd: 445
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          258
      EdgeCount:       50
      CyclomaticComplexity: 13
      functionsReached:
        - __errno_location
        - _lws_log
        - freeifaddrs
        - getifaddrs
        - lws_sa46_parse_numeric_address
        - strcmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/plat/unix/unix-sockets.c:379,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/plat/unix/unix-sockets.c:363,6'
          Dst:             getifaddrs
        - Src:             'lib/plat/unix/unix-sockets.c:364,3'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-sockets.c:364,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:372,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:376,7'
          Dst:             strcmp
        - Src:             'lib/plat/unix/unix-sockets.c:404,5'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:438,2'
          Dst:             freeifaddrs
        - Src:             'lib/plat/unix/unix-sockets.c:441,7'
          Dst:             lws_sa46_parse_numeric_address
    - functionName:    lws_plat_set_socket_options_ip
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 229
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          125
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - _lws_log
        - setsockopt
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-sockets.c:259,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:262,9'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-sockets.c:263,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:268,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:274,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:277,9'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-sockets.c:278,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:283,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:291,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:294,11'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-sockets.c:295,6'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:300,4'
          Dst:             _lws_log
    - functionName:    lws_plat_set_socket_options
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 198
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          213
      EdgeCount:       46
      CyclomaticComplexity: 15
      functionsReached:
        - _lws_log
        - fcntl
        - lws_plat_set_nonblocking
        - setsockopt
        - strlen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-sockets.c:122,8'
          Dst:             fcntl
        - Src:             'lib/plat/unix/unix-sockets.c:127,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:147,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:152,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:157,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:162,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:170,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:172,16'
          Dst:             strlen
        - Src:             'lib/plat/unix/unix-sockets.c:171,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:173,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:189,19'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:197,9'
          Dst:             lws_plat_set_nonblocking
    - functionName:    lws_plat_set_nonblocking
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - fcntl
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-sockets.c:105,9'
          Dst:             fcntl
    - functionName:    lws_send_pipe_choked
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          71
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - lws_get_network_wsi
        - lws_has_buffered_out
        - poll
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-sockets.c:70,12'
          Dst:             lws_get_network_wsi
        - Src:             'lib/plat/unix/unix-sockets.c:79,6'
          Dst:             lws_has_buffered_out
        - Src:             'lib/plat/unix/unix-sockets.c:91,6'
          Dst:             poll
    - functionName:    lws_plat_change_pollfd
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-fds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 264
      functionLinenumberEnd: 265
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_plat_delete_socket_from_fds
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-fds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 251
      functionLinenumberEnd: 259
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          56
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_plat_insert_socket_into_fds
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-fds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 239
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          61
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    delete_from_fdwsi
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-fds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 235
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          84
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    delete_from_fd
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-fds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         38
      ICount:          202
      EdgeCount:       47
      CyclomaticComplexity: 11
      functionsReached:
        - __assert_fail
        - _lws_log
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-fds.c:178,4'
          Dst:             __assert_fail
        - Src:             'lib/plat/unix/unix-fds.c:188,2'
          Dst:             __assert_fail
        - Src:             'lib/plat/unix/unix-fds.c:206,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-fds.c:208,3'
          Dst:             __assert_fail
    - functionName:    insert_wsi
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-fds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 166
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          144
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
        - _lws_log
        - sanity_assert_no_sockfd_traces
        - sanity_assert_no_wsi_traces
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-fds.c:128,6'
          Dst:             sanity_assert_no_wsi_traces
        - Src:             'lib/plat/unix/unix-fds.c:132,3'
          Dst:             __assert_fail
        - Src:             'lib/plat/unix/unix-fds.c:148,6'
          Dst:             sanity_assert_no_sockfd_traces
        - Src:             'lib/plat/unix/unix-fds.c:159,3'
          Dst:             _lws_log
    - functionName:    sanity_assert_no_wsi_traces
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-fds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          84
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-fds.c:75,2'
          Dst:             __assert_fail
    - functionName:    sanity_assert_no_sockfd_traces
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-fds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          134
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-fds.c:98,3'
          Dst:             __assert_fail
        - Src:             'lib/plat/unix/unix-fds.c:115,2'
          Dst:             __assert_fail
    - functionName:    wsi_from_fd
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-fds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          86
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_cert_get_x509_remaining
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 631
      functionLinenumberEnd: 667
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          115
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - alloc_file
        - lws_realloc
        - lws_x509_create
        - lws_x509_destroy
        - lws_x509_info
        - lws_x509_parse_from_pem
        - time
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:641,6'
          Dst:             alloc_file
        - Src:             'lib/tls/tls.c:646,6'
          Dst:             lws_x509_create
        - Src:             'lib/tls/tls.c:649,6'
          Dst:             lws_x509_parse_from_pem
        - Src:             'lib/tls/tls.c:652,7'
          Dst:             lws_x509_info
        - Src:             'lib/tls/tls.c:653,7'
          Dst:             lws_x509_info
        - Src:             'lib/tls/tls.c:654,16'
          Dst:             time
        - Src:             'lib/tls/tls.c:662,2'
          Dst:             lws_x509_destroy
        - Src:             'lib/tls/tls.c:664,2'
          Dst:             lws_realloc
    - functionName:    alloc_file
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 342
      functionLinenumberEnd: 389
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          120
      EdgeCount:       26
      CyclomaticComplexity: 9
      functionsReached:
        - fclose
        - fopen
        - fread
        - fseek
        - ftell
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:348,6'
          Dst:             fopen
        - Src:             'lib/tls/tls.c:354,6'
          Dst:             fseek
        - Src:             'lib/tls/tls.c:359,15'
          Dst:             ftell
        - Src:             'lib/tls/tls.c:366,6'
          Dst:             fseek
        - Src:             'lib/tls/tls.c:371,9'
          Dst:             lws_realloc
        - Src:             'lib/tls/tls.c:377,6'
          Dst:             fread
        - Src:             'lib/tls/tls.c:378,3'
          Dst:             lws_realloc
        - Src:             'lib/tls/tls.c:387,3'
          Dst:             fclose
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - 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:    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:    1
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_extant
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 526
      functionLinenumberEnd: 540
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - close
        - open
        - read
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:528,11'
          Dst:             open
        - Src:             'lib/tls/tls.c:536,6'
          Dst:             read
        - Src:             'lib/tls/tls.c:537,2'
          Dst:             close
    - functionName:    lws_tls_use_any_upgrade_check_extant
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 574
      functionLinenumberEnd: 627
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          121
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - _lws_log
        - lws_snprintf
        - lws_tls_extant
        - rename
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:582,2'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:583,7'
          Dst:             lws_tls_extant
        - Src:             'lib/tls/tls.c:585,8'
          Dst:             lws_tls_extant
        - Src:             'lib/tls/tls.c:588,5'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:590,10'
          Dst:             rename
        - Src:             'lib/tls/tls.c:594,5'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:598,4'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:601,7'
          Dst:             rename
        - Src:             'lib/tls/tls.c:602,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:608,6'
          Dst:             lws_tls_extant
    - functionName:    lws_tls_alloc_pem_to_der_file
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 409
      functionLinenumberEnd: 516
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         57
      ICount:          342
      EdgeCount:       78
      CyclomaticComplexity: 23
      functionsReached:
        - _lws_log
        - alloc_file
        - lws_b64_decode_string_len
        - lws_realloc
        - lwsl_hexdump_level
        - strncmp
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:416,7'
          Dst:             alloc_file
        - Src:             'lib/tls/tls.c:430,6'
          Dst:             strncmp
        - Src:             'lib/tls/tls.c:434,9'
          Dst:             lws_realloc
        - Src:             'lib/tls/tls.c:450,9'
          Dst:             lws_realloc
        - Src:             'lib/tls/tls.c:452,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:481,20'
          Dst:             strncmp
        - Src:             'lib/tls/tls.c:497,5'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:498,5'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/tls/tls.c:500,6'
          Dst:             lws_b64_decode_string_len
        - Src:             'lib/tls/tls.c:503,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:513,2'
          Dst:             lws_realloc
    - functionName:    lws_tls_server_conn_alpn
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 249
      functionLinenumberEnd: 301
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          84
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - SSL_get0_alpn_selected
        - _lws_log
        - lws_role_call_alpn_negotiated
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:257,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:260,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:279,2'
          Dst:             SSL_get0_alpn_selected
        - Src:             'lib/tls/tls.c:282,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:292,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:295,9'
          Dst:             lws_role_call_alpn_negotiated
    - functionName:    SSL_get0_alpn_selected
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      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:    alpn_cb
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          53
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - SSL_select_next_proto
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:95,6'
          Dst:             SSL_select_next_proto
    - functionName:    SSL_select_next_proto
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_context_init_alpn
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 214
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          66
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - SSL_CTX_set_alpn_select_cb
        - _lws_log
        - alpn_cb
        - lws_alpn_comma_to_openssl
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:223,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:226,37'
          Dst:             lws_alpn_comma_to_openssl
        - Src:             'lib/tls/tls.c:235,2'
          Dst:             SSL_CTX_set_alpn_select_cb
        - Src:             'lib/tls/tls.c:235,2'
          Dst:             alpn_cb
    - functionName:    SSL_CTX_set_alpn_select_cb
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_restrict_return
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 191
      functionLinenumberEnd: 210
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          72
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - _lws_tls_restrict_return
        - lws_tls_restrict_return_handshake
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:200,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:207,3'
          Dst:             lws_tls_restrict_return_handshake
        - Src:             'lib/tls/tls.c:209,3'
          Dst:             _lws_tls_restrict_return
    - functionName:    lws_tls_restrict_return_handshake
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 187
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          57
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - _lws_tls_restrict_return
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:182,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:186,2'
          Dst:             _lws_tls_restrict_return
    - functionName:    _lws_tls_restrict_return
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          98
      EdgeCount:       21
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - lws_gate_accepts
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:158,2'
          Dst:             __assert_fail
        - Src:             'lib/tls/tls.c:159,2'
          Dst:             __assert_fail
        - Src:             'lib/tls/tls.c:161,2'
          Dst:             lws_gate_accepts
    - functionName:    lws_tls_restrict_borrow
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         35
      ICount:          230
      EdgeCount:       44
      CyclomaticComplexity: 11
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_gate_accepts
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:112,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:120,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:130,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:134,2'
          Dst:             __assert_fail
        - Src:             'lib/tls/tls.c:137,2'
          Dst:             __assert_fail
        - Src:             'lib/tls/tls.c:142,2'
          Dst:             lws_gate_accepts
    - functionName:    lws_klog_dump
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          210
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - SSL_get_ex_data
        - _lws_log_cx
        - close
        - lws_log_prepend_vhost
        - lws_snprintf
        - lwsl_timestamp
        - lwsl_vhost_get_cx
        - open
        - strlen
        - strncmp
        - write
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:35,34'
          Dst:             SSL_get_ex_data
        - Src:             'lib/tls/tls.c:44,2'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:47,7'
          Dst:             open
        - Src:             'lib/tls/tls.c:49,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls.c:49,3'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls.c:49,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/tls/tls.c:54,7'
          Dst:             strncmp
        - Src:             'lib/tls/tls.c:55,16'
          Dst:             write
        - Src:             'lib/tls/tls.c:57,7'
          Dst:             lwsl_timestamp
        - Src:             'lib/tls/tls.c:59,16'
          Dst:             write
        - Src:             'lib/tls/tls.c:61,7'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:62,16'
          Dst:             write
        - Src:             'lib/tls/tls.c:65,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls.c:65,3'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls.c:65,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/tls/tls.c:68,8'
          Dst:             strlen
        - Src:             'lib/tls/tls.c:73,4'
          Dst:             strlen
        - Src:             'lib/tls/tls.c:69,15'
          Dst:             write
        - Src:             'lib/tls/tls.c:74,15'
          Dst:             write
        - Src:             'lib/tls/tls.c:75,2'
          Dst:             close
        - Src:             'lib/tls/tls.c:78,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls.c:78,3'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls.c:78,3'
          Dst:             lws_log_prepend_vhost
    - functionName:    SSL_get_ex_data
      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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_cleanup_process
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 387
      functionLinenumberEnd: 404
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          26
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_alpn_comma_to_openssl
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 348
      functionLinenumberEnd: 380
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          157
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_gate_accepts
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 315
      functionLinenumberEnd: 341
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          125
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log_cx
        - lws_change_pollfd
        - lws_dll2_get_head
        - lws_log_prepend_context
        - lwsl_context_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:321,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/tls/tls-network.c:321,2'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:321,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/tls/tls-network.c:326,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/tls/tls-network.c:332,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/tls/tls-network.c:334,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/tls/tls-network.c:334,5'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:334,5'
          Dst:             lws_log_prepend_context
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      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:    lws_tls_cert_updated
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 261
      functionLinenumberEnd: 310
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          248
      EdgeCount:       46
      CyclomaticComplexity: 14
      functionsReached:
        - _lws_log_cx
        - lws_dll2_add_tail
        - lws_log_prepend_vhost
        - lws_tls_ctx_ref_create
        - lws_tls_ctx_ref_unref
        - lws_tls_server_certs_load
        - lws_tls_vhost_backend_create_ctx
        - lws_tls_vhost_backend_free_ctx
        - lwsl_vhost_get_cx
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:269,8'
          Dst:             strcmp
        - Src:             'lib/tls/tls-network.c:270,8'
          Dst:             strcmp
        - Src:             'lib/tls/tls-network.c:275,8'
          Dst:             lws_tls_vhost_backend_create_ctx
        - Src:             'lib/tls/tls-network.c:276,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls-network.c:276,5'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:276,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/tls/tls-network.c:280,38'
          Dst:             lws_tls_ctx_ref_create
        - Src:             'lib/tls/tls-network.c:282,5'
          Dst:             lws_tls_vhost_backend_free_ctx
        - Src:             'lib/tls/tls-network.c:287,8'
          Dst:             lws_tls_server_certs_load
        - Src:             'lib/tls/tls-network.c:291,5'
          Dst:             lws_tls_ctx_ref_unref
        - Src:             'lib/tls/tls-network.c:293,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls-network.c:293,5'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:293,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/tls/tls-network.c:301,5'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/tls/tls-network.c:302,5'
          Dst:             lws_tls_ctx_ref_unref
        - Src:             'lib/tls/tls-network.c:306,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls-network.c:306,5'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:306,5'
          Dst:             lws_log_prepend_vhost
    - functionName:    lws_tls_ctx_ref_create
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - lws_zalloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:93,8'
          Dst:             lws_zalloc
    - functionName:    lws_tls_ctx_ref_unref
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_dll2_remove
        - lws_realloc
        - lws_tls_vhost_backend_free_ctx
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:129,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/tls/tls-network.c:130,3'
          Dst:             lws_tls_vhost_backend_free_ctx
        - Src:             'lib/tls/tls-network.c:131,3'
          Dst:             lws_realloc
    - functionName:    lws_tls_generic_cert_checks
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 213
      functionLinenumberEnd: 250
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          112
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_vhost
        - lws_tls_use_any_upgrade_check_extant
        - lwsl_vhost_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:230,11'
          Dst:             lws_tls_use_any_upgrade_check_extant
        - Src:             'lib/tls/tls-network.c:233,11'
          Dst:             lws_tls_use_any_upgrade_check_extant
        - Src:             'lib/tls/tls-network.c:239,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls-network.c:239,3'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:239,3'
          Dst:             lws_log_prepend_vhost
    - functionName:    lws_tls_check_all_cert_lifetimes
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 193
      functionLinenumberEnd: 203
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          46
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_tls_check_cert_lifetime
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:197,7'
          Dst:             lws_tls_check_cert_lifetime
    - functionName:    lws_tls_check_cert_lifetime
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          106
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log_cx
        - lws_broadcast
        - lws_log_prepend_vhost
        - lws_now_secs
        - lws_tls_vhost_cert_info
        - lwsl_vhost_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:161,23'
          Dst:             lws_now_secs
        - Src:             'lib/tls/tls-network.c:172,7'
          Dst:             lws_tls_vhost_cert_info
        - Src:             'lib/tls/tls-network.c:178,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls-network.c:178,3'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:178,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/tls/tls-network.c:181,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls-network.c:181,3'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:181,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/tls/tls-network.c:185,2'
          Dst:             lws_broadcast
    - functionName:    lws_tls_ctx_ref_destroy_all
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          96
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log_cx
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_log_prepend_vhost
        - lws_realloc
        - lws_tls_ctx_ref_unref
        - lws_tls_vhost_backend_free_ctx
        - lwsl_vhost_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:140,3'
          Dst:             lws_tls_ctx_ref_unref
        - Src:             'lib/tls/tls-network.c:145,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/tls/tls-network.c:148,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls-network.c:148,3'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:148,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/tls/tls-network.c:150,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/tls/tls-network.c:151,3'
          Dst:             lws_tls_vhost_backend_free_ctx
        - Src:             'lib/tls/tls-network.c:152,3'
          Dst:             lws_realloc
    - functionName:    lws_tls_ctx_ref_get
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          31
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ssl_remove_wsi_from_buffered_list
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_ssl_remove_wsi_from_buffered_list
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:81,2'
          Dst:             __lws_ssl_remove_wsi_from_buffered_list
    - functionName:    __lws_ssl_remove_wsi_from_buffered_list
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_remove
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:72,2'
          Dst:             lws_dll2_remove
    - functionName:    lws_tls_fake_POLLIN_for_buffered
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          170
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:38,2'
          Dst:             lws_dll2_get_head
    - functionName:    lws_context_deinit_ssl_library
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 161
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_context_init_ssl_library
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 157
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          85
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - CRYPTO_get_ex_new_index
        - OPENSSL_init_ssl
        - _lws_log_cx
        - lws_log_prepend_context
        - lwsl_context_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-tls.c:95,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/tls/openssl/openssl-tls.c:95,2'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/openssl/openssl-tls.c:95,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/tls/openssl/openssl-tls.c:102,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/tls/openssl/openssl-tls.c:102,4'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/openssl/openssl-tls.c:102,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/tls/openssl/openssl-tls.c:110,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/tls/openssl/openssl-tls.c:110,3'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/openssl/openssl-tls.c:110,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/tls/openssl/openssl-tls.c:117,3'
          Dst:             OPENSSL_init_ssl
        - Src:             'lib/tls/openssl/openssl-tls.c:123,4'
          Dst:             CRYPTO_get_ex_new_index
        - Src:             'lib/tls/openssl/openssl-tls.c:126,4'
          Dst:             CRYPTO_get_ex_new_index
    - functionName:    OPENSSL_init_ssl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CRYPTO_get_ex_new_index
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_err_describe_clear
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          42
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - ERR_error_string_n
        - ERR_get_error
        - ERR_peek_error
        - _lws_log
      functionUses:    19
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-tls.c:42,7'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-tls.c:46,22'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-tls.c:46,3'
          Dst:             ERR_error_string_n
        - Src:             'lib/tls/openssl/openssl-tls.c:47,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-tls.c:49,2'
          Dst:             _lws_log
    - functionName:    ERR_peek_error
      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:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ERR_get_error
      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:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ERR_error_string_n
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dec
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    16
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_x509_create_self_signed
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1131
      functionLinenumberEnd: 1139
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          53
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_x509_create_cert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:1139,9'
          Dst:             lws_x509_create_cert
    - functionName:    lws_x509_create_cert
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 921
      functionLinenumberEnd: 1124
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         112
      ICount:          691
      EdgeCount:       154
      CyclomaticComplexity: 44
      functionsReached:
        - BIO_free
        - BIO_new_mem_buf
        - BN_free
        - BN_new
        - BN_pseudo_rand
        - BN_to_ASN1_INTEGER
        - EVP_PKEY_CTX_ctrl
        - EVP_PKEY_CTX_free
        - EVP_PKEY_CTX_new_id
        - EVP_PKEY_free
        - EVP_PKEY_keygen
        - EVP_PKEY_keygen_init
        - EVP_PKEY_new
        - EVP_sha256
        - OBJ_ln2nid
        - OBJ_sn2nid
        - PEM_read_bio_PrivateKey
        - PEM_read_bio_X509
        - RSA_pkey_ctx_ctrl
        - X509V3_set_ctx
        - X509_NAME_add_entry_by_txt
        - X509_extension_helper
        - X509_free
        - X509_get_serialNumber
        - X509_get_subject_name
        - X509_getm_notAfter
        - X509_getm_notBefore
        - X509_gmtime_adj
        - X509_new
        - X509_set_issuer_name
        - X509_set_pubkey
        - X509_set_version
        - X509_sign
        - _lws_log
        - i2d_PrivateKey
        - i2d_X509
        - lws_snprintf
        - strchr
        - strcmp
        - strlen
        - strspn
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:927,19'
          Dst:             EVP_PKEY_new
        - Src:             'lib/tls/openssl/openssl-x509.c:943,13'
          Dst:             OBJ_sn2nid
        - Src:             'lib/tls/openssl/openssl-x509.c:945,10'
          Dst:             OBJ_ln2nid
        - Src:             'lib/tls/openssl/openssl-x509.c:948,9'
          Dst:             strcmp
        - Src:             'lib/tls/openssl/openssl-x509.c:949,14'
          Dst:             strcmp
        - Src:             'lib/tls/openssl/openssl-x509.c:950,14'
          Dst:             strcmp
        - Src:             'lib/tls/openssl/openssl-x509.c:954,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-x509.c:960,25'
          Dst:             EVP_PKEY_CTX_new_id
        - Src:             'lib/tls/openssl/openssl-x509.c:962,8'
          Dst:             EVP_PKEY_keygen_init
        - Src:             'lib/tls/openssl/openssl-x509.c:963,8'
          Dst:             EVP_PKEY_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-x509.c:964,8'
          Dst:             EVP_PKEY_keygen
        - Src:             'lib/tls/openssl/openssl-x509.c:965,5'
          Dst:             EVP_PKEY_CTX_free
        - Src:             'lib/tls/openssl/openssl-x509.c:968,4'
          Dst:             EVP_PKEY_CTX_free
        - Src:             'lib/tls/openssl/openssl-x509.c:987,25'
          Dst:             EVP_PKEY_CTX_new_id
        - Src:             'lib/tls/openssl/openssl-x509.c:989,8'
          Dst:             EVP_PKEY_keygen_init
        - Src:             'lib/tls/openssl/openssl-x509.c:990,8'
          Dst:             RSA_pkey_ctx_ctrl
        - Src:             'lib/tls/openssl/openssl-x509.c:991,8'
          Dst:             EVP_PKEY_keygen
        - Src:             'lib/tls/openssl/openssl-x509.c:992,5'
          Dst:             EVP_PKEY_CTX_free
        - Src:             'lib/tls/openssl/openssl-x509.c:995,4'
          Dst:             EVP_PKEY_CTX_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1007,9'
          Dst:             X509_new
        - Src:             'lib/tls/openssl/openssl-x509.c:1010,2'
          Dst:             X509_set_version
        - Src:             'lib/tls/openssl/openssl-x509.c:1014,26'
          Dst:             X509_get_serialNumber
        - Src:             'lib/tls/openssl/openssl-x509.c:1015,16'
          Dst:             BN_new
        - Src:             'lib/tls/openssl/openssl-x509.c:1016,3'
          Dst:             BN_pseudo_rand
        - Src:             'lib/tls/openssl/openssl-x509.c:1017,3'
          Dst:             BN_to_ASN1_INTEGER
        - Src:             'lib/tls/openssl/openssl-x509.c:1018,3'
          Dst:             BN_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1021,18'
          Dst:             X509_getm_notBefore
        - Src:             'lib/tls/openssl/openssl-x509.c:1021,2'
          Dst:             X509_gmtime_adj
        - Src:             'lib/tls/openssl/openssl-x509.c:1022,18'
          Dst:             X509_getm_notAfter
        - Src:             'lib/tls/openssl/openssl-x509.c:1022,2'
          Dst:             X509_gmtime_adj
        - Src:             'lib/tls/openssl/openssl-x509.c:1024,2'
          Dst:             X509_set_pubkey
        - Src:             'lib/tls/openssl/openssl-x509.c:1026,9'
          Dst:             X509_get_subject_name
        - Src:             'lib/tls/openssl/openssl-x509.c:1027,2'
          Dst:             X509_NAME_add_entry_by_txt
        - Src:             'lib/tls/openssl/openssl-x509.c:1032,9'
          Dst:             BIO_new_mem_buf
        - Src:             'lib/tls/openssl/openssl-x509.c:1033,17'
          Dst:             PEM_read_bio_X509
        - Src:             'lib/tls/openssl/openssl-x509.c:1034,3'
          Dst:             BIO_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1037,9'
          Dst:             BIO_new_mem_buf
        - Src:             'lib/tls/openssl/openssl-x509.c:1038,17'
          Dst:             PEM_read_bio_PrivateKey
        - Src:             'lib/tls/openssl/openssl-x509.c:1039,3'
          Dst:             BIO_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1042,30'
          Dst:             X509_get_subject_name
        - Src:             'lib/tls/openssl/openssl-x509.c:1042,3'
          Dst:             X509_set_issuer_name
        - Src:             'lib/tls/openssl/openssl-x509.c:1044,3'
          Dst:             X509_set_issuer_name
        - Src:             'lib/tls/openssl/openssl-x509.c:1053,3'
          Dst:             X509V3_set_ctx
        - Src:             'lib/tls/openssl/openssl-x509.c:1056,4'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1057,4'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1059,4'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1060,4'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1062,5'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1064,5'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1067,3'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1070,4'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1072,4'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1076,17'
          Dst:             strspn
        - Src:             'lib/tls/openssl/openssl-x509.c:1076,53'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:1077,10'
          Dst:             strspn
        - Src:             'lib/tls/openssl/openssl-x509.c:1077,58'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:1077,87'
          Dst:             strchr
        - Src:             'lib/tls/openssl/openssl-x509.c:1078,4'
          Dst:             lws_snprintf
        - Src:             'lib/tls/openssl/openssl-x509.c:1079,4'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1085,36'
          Dst:             EVP_sha256
        - Src:             'lib/tls/openssl/openssl-x509.c:1085,7'
          Dst:             X509_sign
        - Src:             'lib/tls/openssl/openssl-x509.c:1091,6'
          Dst:             i2d_X509
        - Src:             'lib/tls/openssl/openssl-x509.c:1097,22'
          Dst:             i2d_X509
        - Src:             'lib/tls/openssl/openssl-x509.c:1100,6'
          Dst:             i2d_PrivateKey
        - Src:             'lib/tls/openssl/openssl-x509.c:1112,21'
          Dst:             i2d_PrivateKey
        - Src:             'lib/tls/openssl/openssl-x509.c:1117,42'
          Dst:             X509_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1118,42'
          Dst:             EVP_PKEY_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1119,12'
          Dst:             X509_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1120,12'
          Dst:             EVP_PKEY_free
    - functionName:    EVP_PKEY_new
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    OBJ_sn2nid
      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:    OBJ_ln2nid
      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:    EVP_PKEY_CTX_new_id
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_PKEY_keygen_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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_PKEY_CTX_ctrl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_PKEY_keygen
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_PKEY_CTX_free
      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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    RSA_pkey_ctx_ctrl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_new
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_set_version
      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:    X509_get_serialNumber
      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:    BN_new
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BN_pseudo_rand
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BN_to_ASN1_INTEGER
      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:    BN_free
      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:    X509_getm_notBefore
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_gmtime_adj
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_getm_notAfter
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_set_pubkey
      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:    X509_get_subject_name
      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:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_NAME_add_entry_by_txt
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BIO_new_mem_buf
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PEM_read_bio_X509
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      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:    BIO_free
      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:    PEM_read_bio_PrivateKey
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      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:    X509_set_issuer_name
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509V3_set_ctx
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_extension_helper
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 902
      functionLinenumberEnd: 913
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - X509V3_EXT_conf_nid
        - X509_EXTENSION_free
        - X509_add_ext
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:905,7'
          Dst:             X509V3_EXT_conf_nid
        - Src:             'lib/tls/openssl/openssl-x509.c:909,2'
          Dst:             X509_add_ext
        - Src:             'lib/tls/openssl/openssl-x509.c:910,2'
          Dst:             X509_EXTENSION_free
    - functionName:    strspn
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_sha256
      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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_sign
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i2d_X509
      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:    i2d_PrivateKey
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_free
      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:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_PKEY_free
      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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509V3_EXT_conf_nid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_add_ext
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_EXTENSION_free
      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:    lws_x509_destroy
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 881
      functionLinenumberEnd: 891
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          54
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - X509_free
        - lws_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:886,3'
          Dst:             X509_free
        - Src:             'lib/tls/openssl/openssl-x509.c:890,2'
          Dst:             lws_realloc
    - functionName:    lws_x509_verify
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 485
      functionLinenumberEnd: 515
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          105
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - X509_NAME_oneline
        - X509_check_issued
        - X509_get_subject_name
        - _lws_log
        - lws_tls_err_describe_clear
        - strcmp
        - strstr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:490,25'
          Dst:             X509_get_subject_name
        - Src:             'lib/tls/openssl/openssl-x509.c:493,3'
          Dst:             X509_NAME_oneline
        - Src:             'lib/tls/openssl/openssl-x509.c:494,15'
          Dst:             strstr
        - Src:             'lib/tls/openssl/openssl-x509.c:500,7'
          Dst:             strcmp
        - Src:             'lib/tls/openssl/openssl-x509.c:501,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-x509.c:506,8'
          Dst:             X509_check_issued
        - Src:             'lib/tls/openssl/openssl-x509.c:508,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-x509.c:509,3'
          Dst:             lws_tls_err_describe_clear
    - functionName:    X509_NAME_oneline
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_check_issued
      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:    lws_x509_parse_from_pem
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 466
      functionLinenumberEnd: 480
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BIO_free
        - BIO_new
        - BIO_s_mem
        - BIO_write
        - PEM_read_bio_X509
        - _lws_log
        - lws_tls_err_describe_clear
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:467,21'
          Dst:             BIO_s_mem
        - Src:             'lib/tls/openssl/openssl-x509.c:467,13'
          Dst:             BIO_new
        - Src:             'lib/tls/openssl/openssl-x509.c:469,2'
          Dst:             BIO_write
        - Src:             'lib/tls/openssl/openssl-x509.c:470,15'
          Dst:             PEM_read_bio_X509
        - Src:             'lib/tls/openssl/openssl-x509.c:471,2'
          Dst:             BIO_free
        - Src:             'lib/tls/openssl/openssl-x509.c:473,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-x509.c:474,3'
          Dst:             lws_tls_err_describe_clear
    - functionName:    BIO_s_mem
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BIO_new
      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:    BIO_write
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_x509_create
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 456
      functionLinenumberEnd: 461
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:457,10'
          Dst:             lws_realloc
    - functionName:    lws_tls_peer_cert_info
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 425
      functionLinenumberEnd: 451
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          75
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - SSL_get_peer_certificate
        - SSL_get_verify_result
        - X509_free
        - _lws_log
        - lws_get_network_wsi
        - lws_tls_openssl_cert_info
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/tls/openssl/openssl-x509.c:439,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:429,8'
          Dst:             lws_get_network_wsi
        - Src:             'lib/tls/openssl/openssl-x509.c:431,9'
          Dst:             SSL_get_peer_certificate
        - Src:             'lib/tls/openssl/openssl-x509.c:434,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-x509.c:441,19'
          Dst:             SSL_get_verify_result
        - Src:             'lib/tls/openssl/openssl-x509.c:445,8'
          Dst:             lws_tls_openssl_cert_info
        - Src:             'lib/tls/openssl/openssl-x509.c:448,2'
          Dst:             X509_free
    - functionName:    SSL_get_peer_certificate
      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:    SSL_get_verify_result
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_openssl_cert_info
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 395
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         137
      ICount:          929
      EdgeCount:       185
      CyclomaticComplexity: 50
      functionsReached:
        - ASN1_STRING_get0_data
        - ASN1_STRING_length
        - ASN1_get_object
        - AUTHORITY_KEYID_free
        - CRYPTO_free
        - CRYPTO_malloc
        - OPENSSL_sk_num
        - OPENSSL_sk_value
        - X509V3_EXT_d2i
        - X509V3_EXT_get
        - X509_EXTENSION_get_data
        - X509_NAME_oneline
        - X509_get_X509_PUBKEY
        - X509_get_ext
        - X509_get_ext_by_NID
        - X509_get_issuer_name
        - X509_get_key_usage
        - X509_get_subject_name
        - X509_getm_notAfter
        - X509_getm_notBefore
        - _lws_log
        - i2d_X509
        - i2d_X509_PUBKEY
        - i2v_GENERAL_NAMES
        - lws_tls_openssl_asn1time_to_unix
        - strchr
        - strlen
        - strstr
      functionUses:    4
      BranchProfiles:
        - Branch String:   'lib/tls/openssl/openssl-x509.c:121,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:124,6'
          Dst:             X509_getm_notBefore
        - Src:             'lib/tls/openssl/openssl-x509.c:123,15'
          Dst:             lws_tls_openssl_asn1time_to_unix
        - Src:             'lib/tls/openssl/openssl-x509.c:131,6'
          Dst:             X509_getm_notAfter
        - Src:             'lib/tls/openssl/openssl-x509.c:130,15'
          Dst:             lws_tls_openssl_asn1time_to_unix
        - Src:             'lib/tls/openssl/openssl-x509.c:140,8'
          Dst:             X509_get_subject_name
        - Src:             'lib/tls/openssl/openssl-x509.c:143,3'
          Dst:             X509_NAME_oneline
        - Src:             'lib/tls/openssl/openssl-x509.c:144,15'
          Dst:             strstr
        - Src:             'lib/tls/openssl/openssl-x509.c:147,17'
          Dst:             strchr
        - Src:             'lib/tls/openssl/openssl-x509.c:151,10'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:155,22'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:159,8'
          Dst:             X509_get_issuer_name
        - Src:             'lib/tls/openssl/openssl-x509.c:162,3'
          Dst:             X509_NAME_oneline
        - Src:             'lib/tls/openssl/openssl-x509.c:163,22'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:168,16'
          Dst:             X509_get_key_usage
        - Src:             'lib/tls/openssl/openssl-x509.c:177,47'
          Dst:             X509_get_X509_PUBKEY
        - Src:             'lib/tls/openssl/openssl-x509.c:177,31'
          Dst:             i2d_X509_PUBKEY
        - Src:             'lib/tls/openssl/openssl-x509.c:183,20'
          Dst:             CRYPTO_malloc
        - Src:             'lib/tls/openssl/openssl-x509.c:189,10'
          Dst:             X509_get_X509_PUBKEY
        - Src:             'lib/tls/openssl/openssl-x509.c:188,7'
          Dst:             i2d_X509_PUBKEY
        - Src:             'lib/tls/openssl/openssl-x509.c:191,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-x509.c:194,5'
          Dst:             CRYPTO_free
        - Src:             'lib/tls/openssl/openssl-x509.c:201,3'
          Dst:             CRYPTO_free
        - Src:             'lib/tls/openssl/openssl-x509.c:207,17'
          Dst:             i2d_X509
        - Src:             'lib/tls/openssl/openssl-x509.c:215,13'
          Dst:             i2d_X509
        - Src:             'lib/tls/openssl/openssl-x509.c:224,33'
          Dst:             X509_get_X509_PUBKEY
        - Src:             'lib/tls/openssl/openssl-x509.c:224,17'
          Dst:             i2d_X509_PUBKEY
        - Src:             'lib/tls/openssl/openssl-x509.c:232,29'
          Dst:             X509_get_X509_PUBKEY
        - Src:             'lib/tls/openssl/openssl-x509.c:232,13'
          Dst:             i2d_X509_PUBKEY
        - Src:             'lib/tls/openssl/openssl-x509.c:245,9'
          Dst:             X509_get_ext_by_NID
        - Src:             'lib/tls/openssl/openssl-x509.c:249,9'
          Dst:             X509_get_ext
        - Src:             'lib/tls/openssl/openssl-x509.c:253,29'
          Dst:             X509V3_EXT_d2i
        - Src:             'lib/tls/openssl/openssl-x509.c:260,8'
          Dst:             ASN1_STRING_get0_data
        - Src:             'lib/tls/openssl/openssl-x509.c:261,10'
          Dst:             ASN1_STRING_length
        - Src:             'lib/tls/openssl/openssl-x509.c:269,3'
          Dst:             AUTHORITY_KEYID_free
        - Src:             'lib/tls/openssl/openssl-x509.c:273,9'
          Dst:             X509_get_ext_by_NID
        - Src:             'lib/tls/openssl/openssl-x509.c:277,9'
          Dst:             X509_get_ext
        - Src:             'lib/tls/openssl/openssl-x509.c:282,29'
          Dst:             X509V3_EXT_d2i
        - Src:             'lib/tls/openssl/openssl-x509.c:291,38'
          Dst:             X509V3_EXT_get
        - Src:             'lib/tls/openssl/openssl-x509.c:299,9'
          Dst:             i2v_GENERAL_NAMES
        - Src:             'lib/tls/openssl/openssl-x509.c:303,27'
          Dst:             OPENSSL_sk_num
        - Src:             'lib/tls/openssl/openssl-x509.c:304,34'
          Dst:             OPENSSL_sk_value
        - Src:             'lib/tls/openssl/openssl-x509.c:305,41'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:306,35'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:325,3'
          Dst:             AUTHORITY_KEYID_free
        - Src:             'lib/tls/openssl/openssl-x509.c:330,9'
          Dst:             X509_get_ext_by_NID
        - Src:             'lib/tls/openssl/openssl-x509.c:334,9'
          Dst:             X509_get_ext
        - Src:             'lib/tls/openssl/openssl-x509.c:337,29'
          Dst:             X509V3_EXT_d2i
        - Src:             'lib/tls/openssl/openssl-x509.c:356,9'
          Dst:             X509_get_ext_by_NID
        - Src:             'lib/tls/openssl/openssl-x509.c:360,9'
          Dst:             X509_get_ext
        - Src:             'lib/tls/openssl/openssl-x509.c:364,10'
          Dst:             X509_EXTENSION_get_data
        - Src:             'lib/tls/openssl/openssl-x509.c:371,8'
          Dst:             ASN1_STRING_get0_data
        - Src:             'lib/tls/openssl/openssl-x509.c:374,24'
          Dst:             ASN1_STRING_length
        - Src:             'lib/tls/openssl/openssl-x509.c:373,7'
          Dst:             ASN1_get_object
        - Src:             'lib/tls/openssl/openssl-x509.c:378,4'
          Dst:             _lws_log
    - functionName:    lws_tls_openssl_asn1time_to_unix
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          166
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ASN1_STRING_get0_data
        - dec
        - mktime
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:51,32'
          Dst:             ASN1_STRING_get0_data
        - Src:             'lib/tls/openssl/openssl-x509.c:59,6'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:60,16'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:60,34'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:65,17'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:65,38'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:66,9'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:66,27'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:69,14'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:69,32'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:71,15'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:71,33'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:73,15'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:73,33'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:75,14'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:75,32'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:77,14'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:77,32'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:80,9'
          Dst:             mktime
    - functionName:    X509_get_issuer_name
      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:    X509_get_key_usage
      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:    X509_get_X509_PUBKEY
      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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i2d_X509_PUBKEY
      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:    CRYPTO_malloc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CRYPTO_free
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_get_ext_by_NID
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_get_ext
      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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509V3_EXT_d2i
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ASN1_STRING_get0_data
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ASN1_STRING_length
      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:    AUTHORITY_KEYID_free
      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:    X509V3_EXT_get
      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:    i2v_GENERAL_NAMES
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    OPENSSL_sk_num
      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:    OPENSSL_sk_value
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_EXTENSION_get_data
      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:    ASN1_get_object
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mktime
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_vhost_cert_info
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 408
      functionLinenumberEnd: 412
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SSL_CTX_get0_certificate
        - lws_tls_openssl_cert_info
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:410,15'
          Dst:             SSL_CTX_get0_certificate
        - Src:             'lib/tls/openssl/openssl-x509.c:412,9'
          Dst:             lws_tls_openssl_cert_info
    - functionName:    SSL_CTX_get0_certificate
      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:    lws_x509_info
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 400
      functionLinenumberEnd: 401
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_tls_openssl_cert_info
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:401,9'
          Dst:             lws_tls_openssl_cert_info
    - functionName:    lws_tls_vhost_backend_free_ctx
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 648
      functionLinenumberEnd: 651
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          26
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - SSL_CTX_free
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:650,3'
          Dst:             SSL_CTX_free
    - functionName:    SSL_CTX_free
      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:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    tops_process_cleanup_openssl
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 635
      functionLinenumberEnd: 639
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - OPENSSL_cleanup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:637,2'
          Dst:             OPENSSL_cleanup
    - functionName:    OPENSSL_cleanup
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    tops_fake_POLLIN_for_buffered_openssl
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 629
      functionLinenumberEnd: 630
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_tls_fake_POLLIN_for_buffered
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:630,9'
          Dst:             lws_tls_fake_POLLIN_for_buffered
    - functionName:    __lws_tls_shutdown
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 585
      functionLinenumberEnd: 624
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          116
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - ERR_clear_error
        - SSL_get_error
        - SSL_shutdown
        - SSL_want
        - __errno_location
        - __lws_change_pollfd
        - _lws_log
        - shutdown
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/tls/openssl/openssl-ssl.c:596,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:589,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-ssl.c:593,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-ssl.c:594,6'
          Dst:             SSL_shutdown
        - Src:             'lib/tls/openssl/openssl-ssl.c:595,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:598,7'
          Dst:             shutdown
        - Src:             'lib/tls/openssl/openssl-ssl.c:602,3'
          Dst:             __lws_change_pollfd
        - Src:             'lib/tls/openssl/openssl-ssl.c:606,7'
          Dst:             SSL_get_error
        - Src:             'lib/tls/openssl/openssl-ssl.c:608,8'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-ssl.c:609,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:610,5'
          Dst:             __lws_change_pollfd
        - Src:             'lib/tls/openssl/openssl-ssl.c:613,8'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-ssl.c:614,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:615,5'
          Dst:             __lws_change_pollfd
        - Src:             'lib/tls/openssl/openssl-ssl.c:618,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:619,4'
          Dst:             __lws_change_pollfd
    - functionName:    ERR_clear_error
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_shutdown
      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:    SSL_get_error
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_want
      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:    lws_tls_ctx_from_wsi
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 576
      functionLinenumberEnd: 581
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - SSL_get_SSL_CTX
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:580,9'
          Dst:             SSL_get_SSL_CTX
    - functionName:    SSL_get_SSL_CTX
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ssl_context_destroy
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 548
      functionLinenumberEnd: 572
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ssl_SSL_CTX_destroy
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 533
      functionLinenumberEnd: 544
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - SSL_CTX_free
        - lws_ssl_destroy_client_ctx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:535,3'
          Dst:             SSL_CTX_free
        - Src:             'lib/tls/openssl/openssl-ssl.c:538,2'
          Dst:             lws_ssl_destroy_client_ctx
    - functionName:    lws_ssl_destroy_client_ctx
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          112
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - SSL_CTX_free
        - lws_dll2_remove
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:163,2'
          Dst:             SSL_CTX_free
        - Src:             'lib/tls/openssl/openssl-ssl.c:169,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/tls/openssl/openssl-ssl.c:170,3'
          Dst:             lws_realloc
    - functionName:    lws_ssl_close
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 486
      functionLinenumberEnd: 529
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          136
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - SSL_free
        - SSL_get_fd
        - SSL_set_info_callback
        - SSL_shutdown
        - close
        - lws_tls_ctx_ref_unref
        - lws_tls_restrict_return
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:497,3'
          Dst:             SSL_set_info_callback
        - Src:             'lib/tls/openssl/openssl-ssl.c:509,6'
          Dst:             SSL_get_fd
        - Src:             'lib/tls/openssl/openssl-ssl.c:511,3'
          Dst:             SSL_shutdown
        - Src:             'lib/tls/openssl/openssl-ssl.c:513,3'
          Dst:             close
        - Src:             'lib/tls/openssl/openssl-ssl.c:514,2'
          Dst:             SSL_free
        - Src:             'lib/tls/openssl/openssl-ssl.c:517,2'
          Dst:             lws_tls_restrict_return
        - Src:             'lib/tls/openssl/openssl-ssl.c:524,3'
          Dst:             lws_tls_ctx_ref_unref
    - functionName:    SSL_set_info_callback
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_get_fd
      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:    SSL_free
      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:    lws_ssl_info_callback
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 445
      functionLinenumberEnd: 481
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          111
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - SSL_CTX_get_ex_data
        - SSL_get_SSL_CTX
        - SSL_get_fd
        - lws_set_timeout
        - user_callback_handle_rxflow
        - wsi_from_fd
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:453,6'
          Dst:             SSL_get_SSL_CTX
        - Src:             'lib/tls/openssl/openssl-ssl.c:452,34'
          Dst:             SSL_CTX_get_ex_data
        - Src:             'lib/tls/openssl/openssl-ssl.c:463,7'
          Dst:             SSL_get_fd
        - Src:             'lib/tls/openssl/openssl-ssl.c:467,8'
          Dst:             wsi_from_fd
        - Src:             'lib/tls/openssl/openssl-ssl.c:477,6'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/tls/openssl/openssl-ssl.c:480,3'
          Dst:             lws_set_timeout
    - functionName:    SSL_CTX_get_ex_data
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ssl_capable_write
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 372
      functionLinenumberEnd: 441
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          133
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - ERR_clear_error
        - ERR_error_string
        - SSL_want
        - SSL_write
        - __errno_location
        - _lws_log
        - lws_ssl_capable_write_no_ssl
        - lws_ssl_get_error
        - lws_tls_err_describe_clear
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:387,10'
          Dst:             lws_ssl_capable_write_no_ssl
        - Src:             'lib/tls/openssl/openssl-ssl.c:389,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-ssl.c:390,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-ssl.c:401,6'
          Dst:             SSL_write
        - Src:             'lib/tls/openssl/openssl-ssl.c:412,6'
          Dst:             lws_ssl_get_error
        - Src:             'lib/tls/openssl/openssl-ssl.c:414,35'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-ssl.c:415,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:420,36'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-ssl.c:423,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:429,2'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-ssl.c:429,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:430,2'
          Dst:             lws_tls_err_describe_clear
    - functionName:    SSL_write
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ssl_get_error
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          98
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - ERR_error_string_n
        - ERR_get_error
        - SSL_get_error
        - __errno_location
        - _lws_log
        - lws_strncpy
        - lws_tls_err_describe_clear
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:60,6'
          Dst:             SSL_get_error
        - Src:             'lib/tls/openssl/openssl-ssl.c:61,8'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-ssl.c:61,8'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:65,8'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-ssl.c:67,5'
          Dst:             ERR_error_string_n
        - Src:             'lib/tls/openssl/openssl-ssl.c:69,5'
          Dst:             lws_strncpy
        - Src:             'lib/tls/openssl/openssl-ssl.c:75,3'
          Dst:             lws_tls_err_describe_clear
    - functionName:    ERR_error_string
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ssl_pending
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 363
      functionLinenumberEnd: 368
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - SSL_pending
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:367,9'
          Dst:             SSL_pending
    - functionName:    SSL_pending
      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:    lws_ssl_capable_read
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 216
      functionLinenumberEnd: 359
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          257
      EdgeCount:       50
      CyclomaticComplexity: 15
      functionsReached:
        - ERR_clear_error
        - SSL_pending
        - SSL_read
        - SSL_want
        - __errno_location
        - __lws_change_pollfd
        - __lws_ssl_remove_wsi_from_buffered_list
        - _lws_log
        - lws_callback_on_writable
        - lws_dll2_add_head
        - lws_dll2_is_detached
        - lws_ssl_capable_read_no_ssl
        - lws_ssl_get_error
        - lws_ssl_remove_wsi_from_buffered_list
        - lws_tls_err_describe_clear
        - lws_wsi_tag
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:222,10'
          Dst:             lws_ssl_capable_read_no_ssl
        - Src:             'lib/tls/openssl/openssl-ssl.c:225,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-ssl.c:229,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-ssl.c:233,6'
          Dst:             SSL_read
        - Src:             'lib/tls/openssl/openssl-ssl.c:249,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/tls/openssl/openssl-ssl.c:249,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:275,7'
          Dst:             lws_ssl_get_error
        - Src:             'lib/tls/openssl/openssl-ssl.c:276,16'
          Dst:             lws_wsi_tag
        - Src:             'lib/tls/openssl/openssl-ssl.c:276,16'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-ssl.c:276,16'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:281,7'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-ssl.c:286,9'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-ssl.c:297,3'
          Dst:             __lws_ssl_remove_wsi_from_buffered_list
        - Src:             'lib/tls/openssl/openssl-ssl.c:304,7'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-ssl.c:305,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:306,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/tls/openssl/openssl-ssl.c:306,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:309,7'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-ssl.c:310,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:311,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/tls/openssl/openssl-ssl.c:311,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:313,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/tls/openssl/openssl-ssl.c:314,4'
          Dst:             __lws_change_pollfd
        - Src:             'lib/tls/openssl/openssl-ssl.c:347,6'
          Dst:             SSL_pending
        - Src:             'lib/tls/openssl/openssl-ssl.c:348,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/tls/openssl/openssl-ssl.c:349,4'
          Dst:             lws_dll2_add_head
        - Src:             'lib/tls/openssl/openssl-ssl.c:352,3'
          Dst:             __lws_ssl_remove_wsi_from_buffered_list
        - Src:             'lib/tls/openssl/openssl-ssl.c:356,2'
          Dst:             lws_ssl_remove_wsi_from_buffered_list
    - functionName:    SSL_read
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ssl_destroy
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - SSL_CTX_free
        - lws_ssl_destroy_client_ctx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:183,3'
          Dst:             SSL_CTX_free
        - Src:             'lib/tls/openssl/openssl-ssl.c:185,2'
          Dst:             lws_ssl_destroy_client_ctx
    - functionName:    lws_context_init_ssl_pem_passwd_cb
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          38
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strlen
        - strncpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:91,2'
          Dst:             strncpy
        - Src:             'lib/tls/openssl/openssl-ssl.c:94,14'
          Dst:             strlen
    - functionName:    lws_context_init_ssl_pem_passwd_client_cb
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          58
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strlen
        - strncpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:110,2'
          Dst:             strncpy
        - Src:             'lib/tls/openssl/openssl-ssl.c:113,14'
          Dst:             strlen
    - functionName:    lws_ssl_bind_passphrase
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          50
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - SSL_CTX_set_default_passwd_cb
        - SSL_CTX_set_default_passwd_cb_userdata
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:138,2'
          Dst:             SSL_CTX_set_default_passwd_cb_userdata
        - Src:             'lib/tls/openssl/openssl-ssl.c:139,2'
          Dst:             SSL_CTX_set_default_passwd_cb
    - functionName:    SSL_CTX_set_default_passwd_cb_userdata
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_set_default_passwd_cb
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_openssl_describe_cipher
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SSL_CIPHER_get_bits
        - SSL_CIPHER_get_name
        - SSL_CIPHER_get_version
        - SSL_get_current_cipher
        - _lws_log
        - lws_wsi_tag
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:42,2'
          Dst:             SSL_get_current_cipher
        - Src:             'lib/tls/openssl/openssl-ssl.c:42,2'
          Dst:             SSL_CIPHER_get_bits
        - Src:             'lib/tls/openssl/openssl-ssl.c:43,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/tls/openssl/openssl-ssl.c:43,2'
          Dst:             SSL_get_current_cipher
        - Src:             'lib/tls/openssl/openssl-ssl.c:43,2'
          Dst:             SSL_CIPHER_get_name
        - Src:             'lib/tls/openssl/openssl-ssl.c:43,2'
          Dst:             SSL_get_current_cipher
        - Src:             'lib/tls/openssl/openssl-ssl.c:43,2'
          Dst:             SSL_CIPHER_get_name
        - Src:             'lib/tls/openssl/openssl-ssl.c:43,2'
          Dst:             SSL_get_current_cipher
        - Src:             'lib/tls/openssl/openssl-ssl.c:43,2'
          Dst:             SSL_CIPHER_get_version
        - Src:             'lib/tls/openssl/openssl-ssl.c:43,2'
          Dst:             _lws_log
    - functionName:    SSL_get_current_cipher
      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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CIPHER_get_bits
      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:    SSL_CIPHER_get_name
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CIPHER_get_version
      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:    lws_tls_session_expiry_cb
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 176
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_tls_session_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:173,2'
          Dst:             __lws_tls_session_destroy
    - functionName:    __lws_tls_session_destroy
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          35
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SSL_SESSION_free
        - _lws_log
        - lws_dll2_remove
        - lws_realloc
        - lws_sul_cancel
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:46,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:49,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/tls/openssl/openssl-session.c:50,2'
          Dst:             SSL_SESSION_free
        - Src:             'lib/tls/openssl/openssl-session.c:51,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/tls/openssl/openssl-session.c:53,2'
          Dst:             lws_realloc
    - functionName:    SSL_SESSION_free
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      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:    lws_tls_session_add_entry
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 214
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          106
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - __lws_tls_session_destroy
        - _lws_log
        - lws_dll2_add_tail
        - lws_realloc
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:182,14'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-session.c:195,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:198,4'
          Dst:             __lws_tls_session_destroy
        - Src:             'lib/tls/openssl/openssl-session.c:203,7'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-session.c:211,2'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_tls_session_dump_load
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 427
      functionLinenumberEnd: 497
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          141
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - SSL_SESSION_free
        - __lws_tls_session_lookup_by_name
        - _lws_log
        - d2i_SSL_SESSION
        - lws_tls_session_add_entry
        - lws_tls_session_tag_discrete
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:437,2'
          Dst:             lws_tls_session_tag_discrete
        - Src:             'lib/tls/openssl/openssl-session.c:442,7'
          Dst:             __lws_tls_session_lookup_by_name
        - Src:             'lib/tls/openssl/openssl-session.c:449,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:455,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:464,9'
          Dst:             d2i_SSL_SESSION
        - Src:             'lib/tls/openssl/openssl-session.c:468,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:473,7'
          Dst:             lws_tls_session_add_entry
        - Src:             'lib/tls/openssl/openssl-session.c:477,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:482,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:490,2'
          Dst:             SSL_SESSION_free
    - functionName:    __lws_tls_session_lookup_by_name
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          60
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - lws_dll2_get_head
        - strcmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:59,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/tls/openssl/openssl-session.c:64,8'
          Dst:             strcmp
    - functionName:    d2i_SSL_SESSION
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_session_dump_save
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 375
      functionLinenumberEnd: 422
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          138
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - __lws_tls_session_lookup_by_name
        - _lws_log
        - i2d_SSL_SESSION
        - lws_realloc
        - lws_tls_session_tag_discrete
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:384,2'
          Dst:             lws_tls_session_tag_discrete
        - Src:             'lib/tls/openssl/openssl-session.c:389,7'
          Dst:             __lws_tls_session_lookup_by_name
        - Src:             'lib/tls/openssl/openssl-session.c:395,7'
          Dst:             i2d_SSL_SESSION
        - Src:             'lib/tls/openssl/openssl-session.c:400,15'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-session.c:405,3'
          Dst:             i2d_SSL_SESSION
        - Src:             'lib/tls/openssl/openssl-session.c:410,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:414,3'
          Dst:             lws_realloc
    - functionName:    i2d_SSL_SESSION
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_session_new_cb
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 218
      functionLinenumberEnd: 304
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          156
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - SSL_SESSION_free
        - SSL_SESSION_get_timeout
        - SSL_get_ex_data
        - __lws_tls_session_lookup_by_name
        - _lws_log
        - lws_dll2_add_tail
        - lws_dll2_remove
        - lws_sul_schedule
        - lws_tls_session_add_entry
        - lws_tls_session_expiry_cb
        - lws_tls_session_tag_from_wsi
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:219,34'
          Dst:             SSL_get_ex_data
        - Src:             'lib/tls/openssl/openssl-session.c:230,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:239,6'
          Dst:             lws_tls_session_tag_from_wsi
        - Src:             'lib/tls/openssl/openssl-session.c:244,8'
          Dst:             SSL_SESSION_get_timeout
        - Src:             'lib/tls/openssl/openssl-session.c:249,7'
          Dst:             __lws_tls_session_lookup_by_name
        - Src:             'lib/tls/openssl/openssl-session.c:252,8'
          Dst:             lws_tls_session_add_entry
        - Src:             'lib/tls/openssl/openssl-session.c:257,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/tls/openssl/openssl-session.c:257,3'
          Dst:             lws_tls_session_expiry_cb
        - Src:             'lib/tls/openssl/openssl-session.c:275,3'
          Dst:             SSL_SESSION_free
        - Src:             'lib/tls/openssl/openssl-session.c:279,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/tls/openssl/openssl-session.c:280,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/tls/openssl/openssl-session.c:288,2'
          Dst:             _lws_log
    - functionName:    SSL_SESSION_get_timeout
      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:    lws_tls_session_cache
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 370
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          66
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - SSL_CTX_ctrl
        - SSL_CTX_sess_set_new_cb
        - SSL_CTX_set_timeout
        - lws_tls_session_new_cb
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:355,10'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-session.c:357,2'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-session.c:360,2'
          Dst:             SSL_CTX_sess_set_new_cb
        - Src:             'lib/tls/openssl/openssl-session.c:360,2'
          Dst:             lws_tls_session_new_cb
        - Src:             'lib/tls/openssl/openssl-session.c:368,2'
          Dst:             SSL_CTX_set_timeout
    - functionName:    SSL_CTX_ctrl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_sess_set_new_cb
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_set_timeout
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_session_destroy_dll
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_tls_session_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:152,2'
          Dst:             __lws_tls_session_destroy
    - functionName:    lws_tls_session_vh_destroy
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_foreach_safe
        - lws_tls_session_destroy_dll
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:160,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/tls/openssl/openssl-session.c:160,2'
          Dst:             lws_tls_session_destroy_dll
    - functionName:    lws_tls_session_is_reused
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - SSL_session_reused
        - lws_get_network_wsi
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:136,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/tls/openssl/openssl-session.c:141,20'
          Dst:             SSL_session_reused
    - functionName:    SSL_session_reused
      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:    lws_tls_reuse_session
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          136
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - SSL_SESSION_set_time
        - SSL_set_session
        - __lws_tls_session_lookup_by_name
        - _lws_log
        - lws_dll2_add_tail
        - lws_dll2_remove
        - lws_tls_session_tag_from_wsi
        - time
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:89,6'
          Dst:             lws_tls_session_tag_from_wsi
        - Src:             'lib/tls/openssl/openssl-session.c:91,7'
          Dst:             __lws_tls_session_lookup_by_name
        - Src:             'lib/tls/openssl/openssl-session.c:94,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:98,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:100,7'
          Dst:             SSL_set_session
        - Src:             'lib/tls/openssl/openssl-session.c:101,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:113,4'
          Dst:             time
        - Src:             'lib/tls/openssl/openssl-session.c:107,2'
          Dst:             SSL_SESSION_set_time
        - Src:             'lib/tls/openssl/openssl-session.c:118,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/tls/openssl/openssl-session.c:119,2'
          Dst:             lws_dll2_add_tail
    - functionName:    SSL_set_session
      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:    SSL_SESSION_set_time
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_genhmac_destroy
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/lws-genhash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 178
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          53
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - EVP_DigestSignFinal
        - EVP_MD_CTX_free
        - EVP_PKEY_free
        - lws_genhmac_size
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/lws-genhash.c:167,24'
          Dst:             lws_genhmac_size
        - Src:             'lib/tls/openssl/lws-genhash.c:170,6'
          Dst:             EVP_DigestSignFinal
        - Src:             'lib/tls/openssl/lws-genhash.c:171,2'
          Dst:             EVP_MD_CTX_free
        - Src:             'lib/tls/openssl/lws-genhash.c:172,2'
          Dst:             EVP_PKEY_free
    - functionName:    EVP_DigestSignFinal
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_MD_CTX_free
      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:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_genhmac_update
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/lws-genhash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - EVP_DigestUpdate
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/lws-genhash.c:157,6'
          Dst:             EVP_DigestUpdate
    - functionName:    EVP_DigestUpdate
      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:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_genhmac_init
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/lws-genhash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          133
      EdgeCount:       20
      CyclomaticComplexity: 4
      functionsReached:
        - EVP_DigestSignInit
        - EVP_MD_CTX_free
        - EVP_MD_CTX_new
        - EVP_PKEY_free
        - EVP_PKEY_new_raw_private_key
        - EVP_sha1
        - EVP_sha256
        - EVP_sha384
        - EVP_sha512
        - _lws_log
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/tls/openssl/lws-genhash.c:115,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/openssl/lws-genhash.c:108,13'
          Dst:             EVP_MD_CTX_new
        - Src:             'lib/tls/openssl/lws-genhash.c:117,19'
          Dst:             EVP_sha1
        - Src:             'lib/tls/openssl/lws-genhash.c:120,19'
          Dst:             EVP_sha256
        - Src:             'lib/tls/openssl/lws-genhash.c:123,19'
          Dst:             EVP_sha384
        - Src:             'lib/tls/openssl/lws-genhash.c:126,19'
          Dst:             EVP_sha512
        - Src:             'lib/tls/openssl/lws-genhash.c:129,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/lws-genhash.c:133,13'
          Dst:             EVP_PKEY_new_raw_private_key
        - Src:             'lib/tls/openssl/lws-genhash.c:137,6'
          Dst:             EVP_DigestSignInit
        - Src:             'lib/tls/openssl/lws-genhash.c:143,2'
          Dst:             EVP_PKEY_free
        - Src:             'lib/tls/openssl/lws-genhash.c:145,2'
          Dst:             EVP_MD_CTX_free
    - functionName:    EVP_MD_CTX_new
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_sha1
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_sha384
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_sha512
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_PKEY_new_raw_private_key
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_DigestSignInit
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_genhash_destroy
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/lws-genhash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          61
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - EVP_DigestFinal_ex
        - EVP_MD_CTX_free
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/lws-genhash.c:92,9'
          Dst:             EVP_DigestFinal_ex
        - Src:             'lib/tls/openssl/lws-genhash.c:96,2'
          Dst:             EVP_MD_CTX_free
    - functionName:    EVP_DigestFinal_ex
      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:    lws_genhash_update
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/lws-genhash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - EVP_DigestUpdate
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/lws-genhash.c:79,9'
          Dst:             EVP_DigestUpdate
    - functionName:    lws_genhash_init
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/lws-genhash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          112
      EdgeCount:       16
      CyclomaticComplexity: 3
      functionsReached:
        - EVP_DigestInit_ex
        - EVP_MD_CTX_free
        - EVP_MD_CTX_new
        - EVP_md5
        - EVP_sha1
        - EVP_sha256
        - EVP_sha384
        - EVP_sha512
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib/tls/openssl/lws-genhash.c:44,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/openssl/lws-genhash.c:40,15'
          Dst:             EVP_MD_CTX_new
        - Src:             'lib/tls/openssl/lws-genhash.c:46,19'
          Dst:             EVP_md5
        - Src:             'lib/tls/openssl/lws-genhash.c:49,19'
          Dst:             EVP_sha1
        - Src:             'lib/tls/openssl/lws-genhash.c:52,19'
          Dst:             EVP_sha256
        - Src:             'lib/tls/openssl/lws-genhash.c:55,19'
          Dst:             EVP_sha384
        - Src:             'lib/tls/openssl/lws-genhash.c:58,19'
          Dst:             EVP_sha512
        - Src:             'lib/tls/openssl/lws-genhash.c:64,6'
          Dst:             EVP_DigestInit_ex
        - Src:             'lib/tls/openssl/lws-genhash.c:65,3'
          Dst:             EVP_MD_CTX_free
    - functionName:    EVP_md5
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_DigestInit_ex
      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:    lws_server_socket_service_ssl
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 193
      functionLinenumberEnd: 479
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         69
      ICount:          421
      EdgeCount:       92
      CyclomaticComplexity: 25
      functionsReached:
        - __assert_fail
        - __errno_location
        - __insert_wsi_socket_into_fds
        - _lws_log
        - close
        - lws_change_pollfd
        - lws_http_to_fallback
        - lws_set_timeout
        - lws_tls_restrict_borrow
        - lws_tls_restrict_return
        - lws_tls_server_abort_connection
        - lws_tls_server_accept
        - lws_tls_server_accept_completed
        - lws_tls_server_new_nonblocking
        - lwsi_set_state
        - recv
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib/tls/tls-server.c:202,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/tls-server.c:206,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:208,4'
          Dst:             __assert_fail
        - Src:             'lib/tls/tls-server.c:210,7'
          Dst:             lws_tls_restrict_borrow
        - Src:             'lib/tls/tls-server.c:211,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:219,7'
          Dst:             lws_tls_server_new_nonblocking
        - Src:             'lib/tls/tls-server.c:220,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:222,5'
          Dst:             close
        - Src:             'lib/tls/tls-server.c:223,4'
          Dst:             lws_tls_restrict_return
        - Src:             'lib/tls/tls-server.c:240,3'
          Dst:             lwsi_set_state
        - Src:             'lib/tls/tls-server.c:243,7'
          Dst:             __insert_wsi_socket_into_fds
        - Src:             'lib/tls/tls-server.c:244,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:249,3'
          Dst:             lws_set_timeout
        - Src:             'lib/tls/tls-server.c:252,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:260,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/tls/tls-server.c:261,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:271,8'
          Dst:             recv
        - Src:             'lib/tls/tls-server.c:311,5'
          Dst:             lws_tls_server_abort_connection
        - Src:             'lib/tls/tls-server.c:320,6'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:328,6'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:336,10'
          Dst:             lws_http_to_fallback
        - Src:             'lib/tls/tls-server.c:338,6'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:343,5'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:355,5'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:372,18'
          Dst:             __errno_location
        - Src:             'lib/tls/tls-server.c:373,11'
          Dst:             __errno_location
        - Src:             'lib/tls/tls-server.c:383,9'
          Dst:             lws_change_pollfd
        - Src:             'lib/tls/tls-server.c:384,6'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:389,5'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:444,3'
          Dst:             __errno_location
        - Src:             'lib/tls/tls-server.c:448,7'
          Dst:             lws_tls_server_accept
        - Src:             'lib/tls/tls-server.c:458,7'
          Dst:             lws_tls_server_accept_completed
        - Src:             'lib/tls/tls-server.c:473,2'
          Dst:             lwsi_set_state
    - functionName:    lws_tls_server_accept_completed
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         31
      ICount:          188
      EdgeCount:       39
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log
        - lws_change_pollfd
        - lws_set_timeout
        - lws_tls_ctx_from_wsi
        - lws_tls_restrict_return_handshake
        - lws_tls_server_conn_alpn
        - lws_vhost_bind_wsi
        - lwsi_set_state
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/tls/tls-server.c:137,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/tls-server.c:136,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:139,3'
          Dst:             lws_tls_restrict_return_handshake
        - Src:             'lib/tls/tls-server.c:142,3'
          Dst:             lws_tls_restrict_return_handshake
        - Src:             'lib/tls/tls-server.c:143,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:151,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/tls/tls-server.c:154,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/tls/tls-server.c:157,3'
          Dst:             lwsi_set_state
        - Src:             'lib/tls/tls-server.c:165,26'
          Dst:             lws_tls_ctx_from_wsi
        - Src:             'lib/tls/tls-server.c:166,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:167,4'
          Dst:             lws_vhost_bind_wsi
        - Src:             'lib/tls/tls-server.c:174,2'
          Dst:             lws_set_timeout
        - Src:             'lib/tls/tls-server.c:177,2'
          Dst:             lwsi_set_state
        - Src:             'lib/tls/tls-server.c:178,6'
          Dst:             lws_tls_server_conn_alpn
        - Src:             'lib/tls/tls-server.c:179,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:182,2'
          Dst:             _lws_log
    - functionName:    lws_sul_tls_cb
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_sul_insert
        - lws_now_usecs
        - lws_tls_check_all_cert_lifetimes
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-server.c:35,2'
          Dst:             lws_tls_check_all_cert_lifetimes
        - Src:             'lib/tls/tls-server.c:37,2'
          Dst:             lws_now_usecs
        - Src:             'lib/tls/tls-server.c:37,2'
          Dst:             __lws_sul_insert
    - functionName:    lws_context_init_server_ssl
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         38
      ICount:          298
      EdgeCount:       51
      CyclomaticComplexity: 15
      functionsReached:
        - __lws_sul_insert
        - _lws_log
        - lws_context_init_alpn
        - lws_now_usecs
        - lws_tls_ctx_ref_create
        - lws_tls_server_client_cert_verify_config
        - lws_tls_server_vhost_backend_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-server.c:75,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:78,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:102,7'
          Dst:             lws_tls_server_vhost_backend_init
        - Src:             'lib/tls/tls-server.c:106,32'
          Dst:             lws_tls_ctx_ref_create
        - Src:             'lib/tls/tls-server.c:108,3'
          Dst:             lws_tls_server_client_cert_verify_config
        - Src:             'lib/tls/tls-server.c:117,3'
          Dst:             lws_context_init_alpn
        - Src:             'lib/tls/tls-server.c:122,2'
          Dst:             lws_now_usecs
        - Src:             'lib/tls/tls-server.c:122,2'
          Dst:             __lws_sul_insert
    - functionName:    lws_tls_server_accept
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 772
      functionLinenumberEnd: 847
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         45
      ICount:          267
      EdgeCount:       61
      CyclomaticComplexity: 18
      functionsReached:
        - ERR_clear_error
        - SSL_accept
        - SSL_pending
        - SSL_want
        - __errno_location
        - _lws_log
        - lws_change_pollfd
        - lws_dll2_add_head
        - lws_dll2_is_detached
        - lws_openssl_describe_cipher
        - lws_ssl_get_error
        - lws_tls_err_describe_clear
        - lws_tls_peer_cert_info
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-server.c:777,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-server.c:778,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-server.c:784,6'
          Dst:             SSL_accept
        - Src:             'lib/tls/openssl/openssl-server.c:797,7'
          Dst:             lws_tls_peer_cert_info
        - Src:             'lib/tls/openssl/openssl-server.c:800,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:803,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:805,3'
          Dst:             lws_openssl_describe_cipher
        - Src:             'lib/tls/openssl/openssl-server.c:807,7'
          Dst:             SSL_pending
        - Src:             'lib/tls/openssl/openssl-server.c:808,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/tls/openssl/openssl-server.c:810,5'
          Dst:             lws_dll2_add_head
        - Src:             'lib/tls/openssl/openssl-server.c:818,6'
          Dst:             lws_ssl_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:819,2'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-server.c:825,37'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-server.c:826,37'
          Dst:             lws_change_pollfd
        - Src:             'lib/tls/openssl/openssl-server.c:827,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:832,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:835,35'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-server.c:836,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:838,37'
          Dst:             lws_change_pollfd
        - Src:             'lib/tls/openssl/openssl-server.c:839,4'
          Dst:             _lws_log
    - functionName:    SSL_accept
      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:    lws_tls_server_abort_connection
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 762
      functionLinenumberEnd: 767
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - SSL_free
        - SSL_shutdown
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-server.c:764,3'
          Dst:             SSL_shutdown
        - Src:             'lib/tls/openssl/openssl-server.c:765,2'
          Dst:             SSL_free
    - functionName:    lws_tls_server_new_nonblocking
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 710
      functionLinenumberEnd: 758
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          165
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - BIO_ctrl
        - ERR_clear_error
        - SSL_ctrl
        - SSL_get_rbio
        - SSL_get_wbio
        - SSL_new
        - SSL_set_ex_data
        - SSL_set_fd
        - SSL_set_info_callback
        - __errno_location
        - _lws_log
        - lws_ssl_get_error
        - lws_ssl_info_callback
        - lws_tls_ctx_ref_get
        - lws_tls_err_describe_clear
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-server.c:715,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-server.c:716,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-server.c:717,21'
          Dst:             lws_tls_ctx_ref_get
        - Src:             'lib/tls/openssl/openssl-server.c:718,17'
          Dst:             SSL_new
        - Src:             'lib/tls/openssl/openssl-server.c:720,3'
          Dst:             lws_ssl_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:720,3'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-server.c:720,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:723,3'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-server.c:727,2'
          Dst:             SSL_set_ex_data
        - Src:             'lib/tls/openssl/openssl-server.c:728,2'
          Dst:             SSL_set_fd
        - Src:             'lib/tls/openssl/openssl-server.c:738,2'
          Dst:             SSL_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:740,8'
          Dst:             SSL_get_rbio
        - Src:             'lib/tls/openssl/openssl-server.c:742,3'
          Dst:             BIO_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:744,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:745,8'
          Dst:             SSL_get_wbio
        - Src:             'lib/tls/openssl/openssl-server.c:747,3'
          Dst:             BIO_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:749,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:754,4'
          Dst:             SSL_set_info_callback
        - Src:             'lib/tls/openssl/openssl-server.c:754,4'
          Dst:             lws_ssl_info_callback
    - functionName:    SSL_new
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_set_ex_data
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_set_fd
      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:    SSL_ctrl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_get_rbio
      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:    BIO_ctrl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_get_wbio
      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:    lws_tls_server_vhost_backend_init
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 668
      functionLinenumberEnd: 706
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          162
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - SSL_CTX_free
        - _lws_log
        - lws_ssl_bind_passphrase
        - lws_tls_generic_cert_checks
        - lws_tls_server_certs_load
        - lws_tls_vhost_backend_create_ctx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-server.c:671,6'
          Dst:             lws_tls_vhost_backend_create_ctx
        - Src:             'lib/tls/openssl/openssl-server.c:678,11'
          Dst:             lws_tls_generic_cert_checks
        - Src:             'lib/tls/openssl/openssl-server.c:683,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:684,3'
          Dst:             SSL_CTX_free
        - Src:             'lib/tls/openssl/openssl-server.c:689,2'
          Dst:             lws_ssl_bind_passphrase
        - Src:             'lib/tls/openssl/openssl-server.c:691,6'
          Dst:             lws_tls_server_certs_load
    - functionName:    lws_tls_vhost_backend_create_ctx
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 502
      functionLinenumberEnd: 663
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         64
      ICount:          471
      EdgeCount:       85
      CyclomaticComplexity: 23
      functionsReached:
        - ERR_error_string
        - ERR_get_error
        - ERR_peek_error
        - SSL_CTX_callback_ctrl
        - SSL_CTX_clear_options
        - SSL_CTX_ctrl
        - SSL_CTX_get_options
        - SSL_CTX_load_verify_locations
        - SSL_CTX_new
        - SSL_CTX_set_cert_store
        - SSL_CTX_set_cipher_list
        - SSL_CTX_set_ciphersuites
        - SSL_CTX_set_client_CA_list
        - SSL_CTX_set_ex_data
        - SSL_CTX_set_keylog_callback
        - SSL_CTX_set_options
        - SSL_load_client_CA_file
        - TLS_server_method
        - X509_NAME_dup
        - X509_STORE_add_cert
        - X509_STORE_free
        - X509_STORE_new
        - X509_free
        - X509_get_subject_name
        - _lws_log
        - d2i_X509
        - lws_klog_dump
        - lws_realloc
        - lws_ssl_server_name_cb
        - lws_strdup
        - lws_tls_alloc_pem_to_der_file
        - sk_X509_NAME_new_null
        - sk_X509_NAME_num
        - sk_X509_NAME_push
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-server.c:504,37'
          Dst:             TLS_server_method
        - Src:             'lib/tls/openssl/openssl-server.c:509,11'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-server.c:510,24'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:510,7'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-server.c:512,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:516,17'
          Dst:             SSL_CTX_new
        - Src:             'lib/tls/openssl/openssl-server.c:520,11'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-server.c:521,24'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:521,7'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-server.c:522,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:529,2'
          Dst:             SSL_CTX_set_keylog_callback
        - Src:             'lib/tls/openssl/openssl-server.c:529,2'
          Dst:             lws_klog_dump
        - Src:             'lib/tls/openssl/openssl-server.c:532,2'
          Dst:             SSL_CTX_set_ex_data
        - Src:             'lib/tls/openssl/openssl-server.c:536,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-server.c:539,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-server.c:549,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-server.c:550,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-server.c:553,13'
          Dst:             lws_strdup
        - Src:             'lib/tls/openssl/openssl-server.c:561,4'
          Dst:             SSL_CTX_set_cipher_list
        - Src:             'lib/tls/openssl/openssl-server.c:563,4'
          Dst:             SSL_CTX_set_ciphersuites
        - Src:             'lib/tls/openssl/openssl-server.c:565,4'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-server.c:568,3'
          Dst:             SSL_CTX_set_cipher_list
        - Src:             'lib/tls/openssl/openssl-server.c:572,3'
          Dst:             SSL_CTX_set_ciphersuites
        - Src:             'lib/tls/openssl/openssl-server.c:577,2'
          Dst:             SSL_CTX_callback_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:577,2'
          Dst:             lws_ssl_server_name_cb
        - Src:             'lib/tls/openssl/openssl-server.c:579,2'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:587,11'
          Dst:             SSL_CTX_load_verify_locations
        - Src:             'lib/tls/openssl/openssl-server.c:590,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:596,34'
          Dst:             SSL_load_client_CA_file
        - Src:             'lib/tls/openssl/openssl-server.c:598,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:600,5'
          Dst:             sk_X509_NAME_num
        - Src:             'lib/tls/openssl/openssl-server.c:600,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:601,5'
          Dst:             SSL_CTX_set_client_CA_list
        - Src:             'lib/tls/openssl/openssl-server.c:609,7'
          Dst:             lws_tls_alloc_pem_to_der_file
        - Src:             'lib/tls/openssl/openssl-server.c:611,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:617,22'
          Dst:             d2i_X509
        - Src:             'lib/tls/openssl/openssl-server.c:620,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:622,30'
          Dst:             X509_STORE_new
        - Src:             'lib/tls/openssl/openssl-server.c:623,10'
          Dst:             X509_STORE_add_cert
        - Src:             'lib/tls/openssl/openssl-server.c:624,6'
          Dst:             X509_STORE_free
        - Src:             'lib/tls/openssl/openssl-server.c:625,6'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:628,6'
          Dst:             SSL_CTX_set_cert_store
        - Src:             'lib/tls/openssl/openssl-server.c:629,36'
          Dst:             sk_X509_NAME_new_null
        - Src:             'lib/tls/openssl/openssl-server.c:631,25'
          Dst:             X509_get_subject_name
        - Src:             'lib/tls/openssl/openssl-server.c:633,34'
          Dst:             X509_NAME_dup
        - Src:             'lib/tls/openssl/openssl-server.c:633,8'
          Dst:             sk_X509_NAME_push
        - Src:             'lib/tls/openssl/openssl-server.c:634,7'
          Dst:             SSL_CTX_set_client_CA_list
        - Src:             'lib/tls/openssl/openssl-server.c:636,6'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:638,5'
          Dst:             X509_free
        - Src:             'lib/tls/openssl/openssl-server.c:640,4'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-server.c:647,3'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-server.c:655,3'
          Dst:             SSL_CTX_clear_options
        - Src:             'lib/tls/openssl/openssl-server.c:658,2'
          Dst:             SSL_CTX_get_options
        - Src:             'lib/tls/openssl/openssl-server.c:658,2'
          Dst:             _lws_log
    - functionName:    lws_tls_server_certs_load
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 176
      functionLinenumberEnd: 496
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         82
      ICount:          528
      EdgeCount:       112
      CyclomaticComplexity: 32
      functionsReached:
        - EC_KEY_free
        - EC_KEY_new_by_curve_name
        - ERR_error_string
        - ERR_get_error
        - ERR_peek_error
        - EVP_PKEY_get1_EC_KEY
        - EVP_PKEY_id
        - EVP_PKEY_type
        - OBJ_sn2nid
        - SSL_CTX_check_private_key
        - SSL_CTX_ctrl
        - SSL_CTX_set_options
        - SSL_CTX_use_PrivateKey_ASN1
        - SSL_CTX_use_PrivateKey_file
        - SSL_CTX_use_certificate_ASN1
        - SSL_CTX_use_certificate_chain_file
        - X509_get_pubkey
        - _lws_log
        - lws_realloc
        - lws_tls_alloc_pem_to_der_file
        - lws_tls_generic_cert_checks
        - sk_X509_value
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-server.c:196,15'
          Dst:             lws_tls_generic_cert_checks
        - Src:             'lib/tls/openssl/openssl-server.c:232,7'
          Dst:             SSL_CTX_use_certificate_chain_file
        - Src:             'lib/tls/openssl/openssl-server.c:235,12'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-server.c:236,25'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:236,8'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-server.c:238,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:245,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:249,8'
          Dst:             SSL_CTX_use_PrivateKey_file
        - Src:             'lib/tls/openssl/openssl-server.c:252,13'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-server.c:253,26'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:253,9'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-server.c:254,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:265,6'
          Dst:             lws_tls_alloc_pem_to_der_file
        - Src:             'lib/tls/openssl/openssl-server.c:267,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:273,8'
          Dst:             SSL_CTX_use_certificate_ASN1
        - Src:             'lib/tls/openssl/openssl-server.c:279,2'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-server.c:281,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:286,6'
          Dst:             lws_tls_alloc_pem_to_der_file
        - Src:             'lib/tls/openssl/openssl-server.c:289,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:295,8'
          Dst:             SSL_CTX_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-server.c:303,9'
          Dst:             SSL_CTX_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-server.c:316,2'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-server.c:318,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:409,7'
          Dst:             SSL_CTX_check_private_key
        - Src:             'lib/tls/openssl/openssl-server.c:410,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:422,13'
          Dst:             OBJ_sn2nid
        - Src:             'lib/tls/openssl/openssl-server.c:424,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:428,9'
          Dst:             EC_KEY_new_by_curve_name
        - Src:             'lib/tls/openssl/openssl-server.c:430,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:433,2'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:434,2'
          Dst:             EC_KEY_free
        - Src:             'lib/tls/openssl/openssl-server.c:436,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-server.c:438,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:441,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:448,2'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:450,7'
          Dst:             sk_X509_value
        - Src:             'lib/tls/openssl/openssl-server.c:452,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:463,9'
          Dst:             X509_get_pubkey
        - Src:             'lib/tls/openssl/openssl-server.c:465,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:470,26'
          Dst:             EVP_PKEY_id
        - Src:             'lib/tls/openssl/openssl-server.c:470,12'
          Dst:             EVP_PKEY_type
        - Src:             'lib/tls/openssl/openssl-server.c:473,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:477,11'
          Dst:             EVP_PKEY_get1_EC_KEY
        - Src:             'lib/tls/openssl/openssl-server.c:480,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:483,2'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:485,2'
          Dst:             EC_KEY_free
    - functionName:    SSL_CTX_use_certificate_chain_file
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_use_PrivateKey_file
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_use_certificate_ASN1
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_use_PrivateKey_ASN1
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_check_private_key
      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:    EC_KEY_new_by_curve_name
      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:    EC_KEY_free
      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:    SSL_CTX_set_options
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sk_X509_value
      functionSourceFile: '/usr/include/openssl/x509.h'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - OPENSSL_sk_value
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '/usr/include/openssl/x509.h:99,1'
          Dst:             OPENSSL_sk_value
    - functionName:    X509_get_pubkey
      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:    EVP_PKEY_id
      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:    EVP_PKEY_type
      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:    EVP_PKEY_get1_EC_KEY
      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:    TLS_server_method
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_new
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_set_keylog_callback
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_set_ex_data
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_set_cipher_list
      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:    SSL_CTX_set_ciphersuites
      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:    lws_ssl_server_name_cb
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          188
      EdgeCount:       38
      CyclomaticComplexity: 11
      functionsReached:
        - SSL_CTX_get_client_CA_list
        - SSL_CTX_get_verify_callback
        - SSL_CTX_get_verify_mode
        - SSL_dup_CA_list
        - SSL_get_SSL_CTX
        - SSL_get_servername
        - SSL_set_SSL_CTX
        - SSL_set_client_CA_list
        - SSL_set_verify
        - __assert_fail
        - _lws_log
        - lws_select_vhost
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-server.c:117,26'
          Dst:             SSL_get_SSL_CTX
        - Src:             'lib/tls/openssl/openssl-server.c:123,3'
          Dst:             __assert_fail
        - Src:             'lib/tls/openssl/openssl-server.c:127,15'
          Dst:             SSL_get_servername
        - Src:             'lib/tls/openssl/openssl-server.c:130,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:135,10'
          Dst:             lws_select_vhost
        - Src:             'lib/tls/openssl/openssl-server.c:137,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:142,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:145,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:150,2'
          Dst:             SSL_set_SSL_CTX
        - Src:             'lib/tls/openssl/openssl-server.c:157,22'
          Dst:             SSL_CTX_get_verify_mode
        - Src:             'lib/tls/openssl/openssl-server.c:158,10'
          Dst:             SSL_CTX_get_verify_callback
        - Src:             'lib/tls/openssl/openssl-server.c:157,2'
          Dst:             SSL_set_verify
        - Src:             'lib/tls/openssl/openssl-server.c:160,6'
          Dst:             SSL_CTX_get_client_CA_list
        - Src:             'lib/tls/openssl/openssl-server.c:161,47'
          Dst:             SSL_CTX_get_client_CA_list
        - Src:             'lib/tls/openssl/openssl-server.c:161,31'
          Dst:             SSL_dup_CA_list
        - Src:             'lib/tls/openssl/openssl-server.c:161,3'
          Dst:             SSL_set_client_CA_list
    - functionName:    SSL_CTX_callback_ctrl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_load_verify_locations
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_load_client_CA_file
      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:    sk_X509_NAME_num
      functionSourceFile: '/usr/include/openssl/x509.h'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - OPENSSL_sk_num
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '/usr/include/openssl/x509.h:77,1'
          Dst:             OPENSSL_sk_num
    - functionName:    SSL_CTX_set_client_CA_list
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    d2i_X509
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_STORE_new
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_STORE_add_cert
      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:    X509_STORE_free
      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:    SSL_CTX_set_cert_store
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sk_X509_NAME_new_null
      functionSourceFile: '/usr/include/openssl/x509.h'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - OPENSSL_sk_new_null
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '/usr/include/openssl/x509.h:77,1'
          Dst:             OPENSSL_sk_new_null
    - functionName:    X509_NAME_dup
      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:    sk_X509_NAME_push
      functionSourceFile: '/usr/include/openssl/x509.h'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - OPENSSL_sk_push
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '/usr/include/openssl/x509.h:77,1'
          Dst:             OPENSSL_sk_push
    - functionName:    SSL_CTX_clear_options
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_get_options
      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:    OPENSSL_sk_push
      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:    OPENSSL_sk_new_null
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_get_servername
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_set_SSL_CTX
      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:    SSL_CTX_get_verify_mode
      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:    SSL_CTX_get_verify_callback
      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:    SSL_set_verify
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_get_client_CA_list
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_dup_CA_list
      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:    SSL_set_client_CA_list
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    OpenSSL_verify_callback
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          85
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - SSL_get_ex_data
        - SSL_get_ex_data_X509_STORE_CTX_idx
        - X509_STORE_CTX_get_current_cert
        - X509_STORE_CTX_get_ex_data
        - _lws_log
        - lws_tls_openssl_cert_info
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-server.c:45,18'
          Dst:             X509_STORE_CTX_get_current_cert
        - Src:             'lib/tls/openssl/openssl-server.c:48,3'
          Dst:             SSL_get_ex_data_X509_STORE_CTX_idx
        - Src:             'lib/tls/openssl/openssl-server.c:47,8'
          Dst:             X509_STORE_CTX_get_ex_data
        - Src:             'lib/tls/openssl/openssl-server.c:54,8'
          Dst:             SSL_get_ex_data
        - Src:             'lib/tls/openssl/openssl-server.c:58,6'
          Dst:             lws_tls_openssl_cert_info
        - Src:             'lib/tls/openssl/openssl-server.c:61,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:63,3'
          Dst:             _lws_log
    - functionName:    X509_STORE_CTX_get_current_cert
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_get_ex_data_X509_STORE_CTX_idx
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_STORE_CTX_get_ex_data
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_server_client_cert_verify_config
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - OpenSSL_verify_callback
        - SSL_CTX_set_session_id_context
        - SSL_CTX_set_verify
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-server.c:88,2'
          Dst:             SSL_CTX_set_session_id_context
        - Src:             'lib/tls/openssl/openssl-server.c:92,2'
          Dst:             SSL_CTX_set_verify
        - Src:             'lib/tls/openssl/openssl-server.c:92,2'
          Dst:             OpenSSL_verify_callback
    - functionName:    SSL_CTX_set_session_id_context
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_set_verify
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_client_upgrade
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 249
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_client_create_tls
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-client.c:245,6'
          Dst:             lws_client_create_tls
    - functionName:    lws_client_create_tls
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 187
      functionLinenumberEnd: 236
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          170
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log
        - lws_now_usecs
        - lws_ssl_client_bio_create
        - lws_ssl_client_connect1
        - lws_tls_restrict_borrow
        - lws_tls_server_conn_alpn
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-client.c:197,8'
          Dst:             lws_tls_restrict_borrow
        - Src:             'lib/tls/tls-client.c:202,8'
          Dst:             lws_ssl_client_bio_create
        - Src:             'lib/tls/tls-client.c:214,23'
          Dst:             lws_now_usecs
        - Src:             'lib/tls/tls-client.c:217,7'
          Dst:             lws_ssl_client_connect1
        - Src:             'lib/tls/tls-client.c:219,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-client.c:230,3'
          Dst:             lws_tls_server_conn_alpn
    - functionName:    lws_ssl_client_connect1
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          72
      EdgeCount:       21
      CyclomaticComplexity: 12
      functionsReached:
        - lws_callback_on_writable
        - lws_now_usecs
        - lws_tls_client_connect
        - lws_tls_restrict_return_handshake
        - lwsi_set_state
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/tls/tls-client.c:33,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/tls-client.c:32,6'
          Dst:             lws_tls_client_connect
        - Src:             'lib/tls/tls-client.c:35,3'
          Dst:             lws_tls_restrict_return_handshake
        - Src:             'lib/tls/tls-client.c:38,3'
          Dst:             lws_tls_restrict_return_handshake
        - Src:             'lib/tls/tls-client.c:42,7'
          Dst:             lws_now_usecs
        - Src:             'lib/tls/tls-client.c:46,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/tls/tls-client.c:49,3'
          Dst:             lwsi_set_state
    - functionName:    lws_context_init_client_ssl
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 183
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          259
      EdgeCount:       39
      CyclomaticComplexity: 12
      functionsReached:
        - _lws_log
        - lws_tls_client_create_vhost_context
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-client.c:156,6'
          Dst:             lws_tls_client_create_vhost_context
        - Src:             'lib/tls/tls-client.c:169,2'
          Dst:             _lws_log
    - functionName:    lws_ssl_client_connect2
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          113
      EdgeCount:       20
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lws_callback_on_writable
        - lws_now_usecs
        - lws_tls_client_confirm_peer_cert
        - lws_tls_client_connect
        - lws_tls_restrict_return_handshake
        - lwsi_set_state
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/tls/tls-client.c:65,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/tls-client.c:62,7'
          Dst:             lws_tls_client_connect
        - Src:             'lib/tls/tls-client.c:63,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-client.c:67,4'
          Dst:             lws_tls_restrict_return_handshake
        - Src:             'lib/tls/tls-client.c:69,8'
          Dst:             lws_tls_client_confirm_peer_cert
        - Src:             'lib/tls/tls-client.c:79,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/tls/tls-client.c:82,4'
          Dst:             lwsi_set_state
        - Src:             'lib/tls/tls-client.c:88,2'
          Dst:             lws_tls_restrict_return_handshake
        - Src:             'lib/tls/tls-client.c:90,6'
          Dst:             lws_tls_client_confirm_peer_cert
        - Src:             'lib/tls/tls-client.c:98,7'
          Dst:             lws_now_usecs
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      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:    lws_tls_client_create_vhost_context
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 705
      functionLinenumberEnd: 1123
      functionDepth:   0
      returnType:      int
      argCount:        12
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         167
      ICount:          1152
      EdgeCount:       226
      CyclomaticComplexity: 61
      functionsReached:
        - ERR_clear_error
        - ERR_error_string
        - ERR_get_error
        - ERR_peek_error
        - EVP_DigestFinal_ex
        - EVP_DigestInit_ex
        - EVP_DigestUpdate
        - EVP_MD_CTX_free
        - EVP_MD_CTX_new
        - EVP_sha256
        - SSL_CTX_check_private_key
        - SSL_CTX_clear_options
        - SSL_CTX_ctrl
        - SSL_CTX_free
        - SSL_CTX_load_verify_locations
        - SSL_CTX_new
        - SSL_CTX_set_cert_store
        - SSL_CTX_set_cipher_list
        - SSL_CTX_set_ciphersuites
        - SSL_CTX_set_default_verify_paths
        - SSL_CTX_set_ex_data
        - SSL_CTX_set_keylog_callback
        - SSL_CTX_set_options
        - SSL_CTX_use_PrivateKey_ASN1
        - SSL_CTX_use_PrivateKey_file
        - SSL_CTX_use_certificate_ASN1
        - SSL_CTX_use_certificate_chain_file
        - TLS_client_method
        - X509_STORE_add_cert
        - X509_STORE_free
        - X509_STORE_new
        - X509_free
        - __errno_location
        - _lws_log
        - d2i_X509
        - lws_dll2_add_head
        - lws_dll2_get_head
        - lws_klog_dump
        - lws_plat_vhost_tls_client_ctx_init
        - lws_realloc
        - lws_ssl_bind_passphrase
        - lws_strdup
        - lws_tls_alloc_pem_to_der_file
        - lws_tls_err_describe_clear
        - lws_tls_session_cache
        - lws_tls_use_any_upgrade_check_extant
        - lws_zalloc
        - lwsl_hexdump_level
        - memcmp
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-client.c:721,25'
          Dst:             TLS_client_method
        - Src:             'lib/tls/openssl/openssl-client.c:731,11'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-client.c:732,25'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-client.c:732,8'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-client.c:733,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:750,11'
          Dst:             EVP_MD_CTX_new
        - Src:             'lib/tls/openssl/openssl-client.c:754,31'
          Dst:             EVP_sha256
        - Src:             'lib/tls/openssl/openssl-client.c:754,6'
          Dst:             EVP_DigestInit_ex
        - Src:             'lib/tls/openssl/openssl-client.c:755,3'
          Dst:             EVP_MD_CTX_free
        - Src:             'lib/tls/openssl/openssl-client.c:761,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:766,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:772,6'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:771,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:775,41'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:775,4'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:780,7'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:779,4'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:786,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:790,40'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:790,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:793,42'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:793,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:797,6'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:796,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:799,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:802,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:805,2'
          Dst:             EVP_DigestFinal_ex
        - Src:             'lib/tls/openssl/openssl-client.c:806,2'
          Dst:             EVP_MD_CTX_free
        - Src:             'lib/tls/openssl/openssl-client.c:810,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/tls/openssl/openssl-client.c:814,8'
          Dst:             memcmp
        - Src:             'lib/tls/openssl/openssl-client.c:822,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:832,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-client.c:833,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-client.c:834,27'
          Dst:             SSL_CTX_new
        - Src:             'lib/tls/openssl/openssl-client.c:838,11'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-client.c:839,25'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-client.c:839,8'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-client.c:840,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:845,2'
          Dst:             SSL_CTX_set_ex_data
        - Src:             'lib/tls/openssl/openssl-client.c:849,2'
          Dst:             lws_plat_vhost_tls_client_ctx_init
        - Src:             'lib/tls/openssl/openssl-client.c:851,8'
          Dst:             lws_zalloc
        - Src:             'lib/tls/openssl/openssl-client.c:853,3'
          Dst:             SSL_CTX_free
        - Src:             'lib/tls/openssl/openssl-client.c:861,2'
          Dst:             lws_dll2_add_head
        - Src:             'lib/tls/openssl/openssl-client.c:863,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:873,3'
          Dst:             SSL_CTX_set_keylog_callback
        - Src:             'lib/tls/openssl/openssl-client.c:873,3'
          Dst:             lws_klog_dump
        - Src:             'lib/tls/openssl/openssl-client.c:879,2'
          Dst:             lws_tls_session_cache
        - Src:             'lib/tls/openssl/openssl-client.c:883,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-client.c:886,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-client.c:889,2'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-client.c:896,3'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-client.c:903,3'
          Dst:             SSL_CTX_clear_options
        - Src:             'lib/tls/openssl/openssl-client.c:907,13'
          Dst:             lws_strdup
        - Src:             'lib/tls/openssl/openssl-client.c:915,4'
          Dst:             SSL_CTX_set_cipher_list
        - Src:             'lib/tls/openssl/openssl-client.c:917,4'
          Dst:             SSL_CTX_set_ciphersuites
        - Src:             'lib/tls/openssl/openssl-client.c:919,4'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-client.c:923,4'
          Dst:             SSL_CTX_set_cipher_list
        - Src:             'lib/tls/openssl/openssl-client.c:927,4'
          Dst:             SSL_CTX_set_ciphersuites
        - Src:             'lib/tls/openssl/openssl-client.c:935,3'
          Dst:             SSL_CTX_set_default_verify_paths
        - Src:             'lib/tls/openssl/openssl-client.c:944,8'
          Dst:             SSL_CTX_load_verify_locations
        - Src:             'lib/tls/openssl/openssl-client.c:947,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:956,8'
          Dst:             SSL_CTX_load_verify_locations
        - Src:             'lib/tls/openssl/openssl-client.c:959,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:963,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:966,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:973,7'
          Dst:             lws_tls_alloc_pem_to_der_file
        - Src:             'lib/tls/openssl/openssl-client.c:975,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:976,4'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/tls/openssl/openssl-client.c:984,15'
          Dst:             d2i_X509
        - Src:             'lib/tls/openssl/openssl-client.c:987,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:988,4'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/tls/openssl/openssl-client.c:989,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:991,17'
          Dst:             X509_STORE_new
        - Src:             'lib/tls/openssl/openssl-client.c:992,9'
          Dst:             X509_STORE_add_cert
        - Src:             'lib/tls/openssl/openssl-client.c:993,5'
          Dst:             X509_STORE_free
        - Src:             'lib/tls/openssl/openssl-client.c:994,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:997,5'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:1000,5'
          Dst:             SSL_CTX_set_cert_store
        - Src:             'lib/tls/openssl/openssl-client.c:1002,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1006,4'
          Dst:             X509_free
        - Src:             'lib/tls/openssl/openssl-client.c:1007,3'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-client.c:1019,7'
          Dst:             lws_tls_use_any_upgrade_check_extant
        - Src:             'lib/tls/openssl/openssl-client.c:1024,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1026,7'
          Dst:             SSL_CTX_use_certificate_chain_file
        - Src:             'lib/tls/openssl/openssl-client.c:1029,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1031,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:1034,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1040,7'
          Dst:             lws_tls_alloc_pem_to_der_file
        - Src:             'lib/tls/openssl/openssl-client.c:1042,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1047,7'
          Dst:             SSL_CTX_use_certificate_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:1050,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1051,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:1054,3'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-client.c:1061,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1062,3'
          Dst:             lws_ssl_bind_passphrase
        - Src:             'lib/tls/openssl/openssl-client.c:1064,7'
          Dst:             SSL_CTX_use_PrivateKey_file
        - Src:             'lib/tls/openssl/openssl-client.c:1066,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1068,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:1071,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1075,8'
          Dst:             SSL_CTX_check_private_key
        - Src:             'lib/tls/openssl/openssl-client.c:1076,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1085,7'
          Dst:             lws_tls_alloc_pem_to_der_file
        - Src:             'lib/tls/openssl/openssl-client.c:1087,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1092,7'
          Dst:             SSL_CTX_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:1100,8'
          Dst:             SSL_CTX_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:1109,3'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-client.c:1112,4'
          Dst:             _lws_log
    - functionName:    TLS_client_method
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_set_default_verify_paths
      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:    lws_tls_client_vhost_extra_cert_mem
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 660
      functionLinenumberEnd: 689
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          77
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - SSL_CTX_get_cert_store
        - X509_STORE_add_cert
        - X509_free
        - _lws_log
        - d2i_X509
        - lws_tls_err_describe_clear
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-client.c:665,13'
          Dst:             d2i_X509
        - Src:             'lib/tls/openssl/openssl-client.c:670,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:671,3'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:675,7'
          Dst:             SSL_CTX_get_cert_store
        - Src:             'lib/tls/openssl/openssl-client.c:677,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:678,3'
          Dst:             X509_free
        - Src:             'lib/tls/openssl/openssl-client.c:682,6'
          Dst:             X509_STORE_add_cert
        - Src:             'lib/tls/openssl/openssl-client.c:684,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:686,2'
          Dst:             X509_free
    - functionName:    SSL_CTX_get_cert_store
      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:    lws_tls_client_confirm_peer_cert
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 590
      functionLinenumberEnd: 655
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          136
      EdgeCount:       16
      CyclomaticComplexity: 2
      functionsReached:
        - ERR_clear_error
        - ERR_error_string
        - SSL_get_verify_result
        - __errno_location
        - _lws_log
        - lws_snprintf
        - lws_tls_err_describe_clear
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/tls/openssl/openssl-client.c:603,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-client.c:599,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-client.c:600,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-client.c:601,6'
          Dst:             SSL_get_verify_result
        - Src:             'lib/tls/openssl/openssl-client.c:630,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:638,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:643,7'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-client.c:644,2'
          Dst:             lws_snprintf
        - Src:             'lib/tls/openssl/openssl-client.c:647,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:648,2'
          Dst:             lws_tls_err_describe_clear
    - functionName:    lws_tls_client_connect
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 497
      functionLinenumberEnd: 586
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          254
      EdgeCount:       50
      CyclomaticComplexity: 15
      functionsReached:
        - ERR_clear_error
        - ERR_error_string_n
        - ERR_get_error
        - SSL_SESSION_set_time
        - SSL_connect
        - SSL_get0_alpn_selected
        - SSL_get_session
        - SSL_session_reused
        - SSL_want
        - __errno_location
        - _lws_log
        - lws_openssl_describe_cipher
        - lws_role_call_alpn_negotiated
        - lws_snprintf
        - lws_ssl_get_error
        - time
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-client.c:509,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-client.c:510,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-client.c:512,6'
          Dst:             SSL_connect
        - Src:             'lib/tls/openssl/openssl-client.c:513,7'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-client.c:515,6'
          Dst:             lws_ssl_get_error
        - Src:             'lib/tls/openssl/openssl-client.c:523,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:525,3'
          Dst:             lws_snprintf
        - Src:             'lib/tls/openssl/openssl-client.c:530,7'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-client.c:531,7'
          Dst:             lws_snprintf
        - Src:             'lib/tls/openssl/openssl-client.c:533,4'
          Dst:             ERR_error_string_n
        - Src:             'lib/tls/openssl/openssl-client.c:538,6'
          Dst:             SSL_session_reused
        - Src:             'lib/tls/openssl/openssl-client.c:540,10'
          Dst:             SSL_get_session
        - Src:             'lib/tls/openssl/openssl-client.c:545,37'
          Dst:             time
        - Src:             'lib/tls/openssl/openssl-client.c:545,4'
          Dst:             SSL_SESSION_set_time
        - Src:             'lib/tls/openssl/openssl-client.c:551,34'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-client.c:554,35'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-client.c:560,3'
          Dst:             SSL_get0_alpn_selected
        - Src:             'lib/tls/openssl/openssl-client.c:567,3'
          Dst:             lws_role_call_alpn_negotiated
        - Src:             'lib/tls/openssl/openssl-client.c:575,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:576,3'
          Dst:             lws_openssl_describe_cipher
        - Src:             'lib/tls/openssl/openssl-client.c:583,2'
          Dst:             lws_snprintf
    - functionName:    SSL_connect
      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:    SSL_get_session
      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:    OpenSSL_client_verify_callback
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 247
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         66
      ICount:          373
      EdgeCount:       88
      CyclomaticComplexity: 24
      functionsReached:
        - SSL_get_ex_data
        - SSL_get_ex_data_X509_STORE_CTX_idx
        - SSL_get_servername
        - X509_NAME_get_text_by_NID
        - X509_STORE_CTX_get_current_cert
        - X509_STORE_CTX_get_error
        - X509_STORE_CTX_get_error_depth
        - X509_STORE_CTX_get_ex_data
        - X509_STORE_CTX_set_error
        - X509_get_subject_name
        - X509_verify_cert_error_string
        - _lws_log
        - lws_strncpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-client.c:99,9'
          Dst:             X509_STORE_CTX_get_error
        - Src:             'lib/tls/openssl/openssl-client.c:103,6'
          Dst:             SSL_get_ex_data_X509_STORE_CTX_idx
        - Src:             'lib/tls/openssl/openssl-client.c:102,10'
          Dst:             X509_STORE_CTX_get_ex_data
        - Src:             'lib/tls/openssl/openssl-client.c:104,10'
          Dst:             SSL_get_ex_data
        - Src:             'lib/tls/openssl/openssl-client.c:107,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:116,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:118,5'
          Dst:             X509_STORE_CTX_set_error
        - Src:             'lib/tls/openssl/openssl-client.c:123,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:124,5'
          Dst:             X509_STORE_CTX_set_error
        - Src:             'lib/tls/openssl/openssl-client.c:130,6'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:134,6'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:137,5'
          Dst:             X509_STORE_CTX_set_error
        - Src:             'lib/tls/openssl/openssl-client.c:144,7'
          Dst:             SSL_get_ex_data_X509_STORE_CTX_idx
        - Src:             'lib/tls/openssl/openssl-client.c:143,8'
          Dst:             X509_STORE_CTX_get_ex_data
        - Src:             'lib/tls/openssl/openssl-client.c:145,8'
          Dst:             SSL_get_ex_data
        - Src:             'lib/tls/openssl/openssl-client.c:147,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:201,13'
          Dst:             X509_STORE_CTX_get_error
        - Src:             'lib/tls/openssl/openssl-client.c:205,16'
          Dst:             X509_STORE_CTX_get_error_depth
        - Src:             'lib/tls/openssl/openssl-client.c:206,22'
          Dst:             X509_verify_cert_error_string
        - Src:             'lib/tls/openssl/openssl-client.c:208,4'
          Dst:             lws_strncpy
        - Src:             'lib/tls/openssl/openssl-client.c:211,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:215,28'
          Dst:             SSL_get_servername
        - Src:             'lib/tls/openssl/openssl-client.c:217,18'
          Dst:             X509_STORE_CTX_get_current_cert
        - Src:             'lib/tls/openssl/openssl-client.c:219,27'
          Dst:             X509_get_subject_name
        - Src:             'lib/tls/openssl/openssl-client.c:221,7'
          Dst:             X509_NAME_get_text_by_NID
        - Src:             'lib/tls/openssl/openssl-client.c:223,5'
          Dst:             _lws_log
    - functionName:    X509_STORE_CTX_get_error
      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:    X509_STORE_CTX_set_error
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_STORE_CTX_get_error_depth
      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:    X509_verify_cert_error_string
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_NAME_get_text_by_NID
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ssl_client_bio_create
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 493
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         63
      ICount:          522
      EdgeCount:       86
      CyclomaticComplexity: 25
      functionsReached:
        - BIO_ctrl
        - BIO_new_socket
        - ERR_error_string
        - ERR_get_error
        - OpenSSL_client_verify_callback
        - SSL_check_private_key
        - SSL_ctrl
        - SSL_get0_param
        - SSL_new
        - SSL_set_alpn_protos
        - SSL_set_bio
        - SSL_set_ex_data
        - SSL_set_info_callback
        - SSL_set_verify
        - SSL_use_PrivateKey_ASN1
        - SSL_use_certificate_ASN1
        - X509_VERIFY_PARAM_set1_host
        - X509_VERIFY_PARAM_set1_ip_asc
        - X509_VERIFY_PARAM_set_hostflags
        - _lws_log
        - lws_alpn_comma_to_openssl
        - lws_hdr_copy
        - lws_ssl_info_callback
        - lws_strncpy
        - lws_system_blob_get_single_ptr
        - lws_system_blob_get_size
        - lws_system_get_blob
        - lws_tls_err_describe_clear
        - lws_tls_reuse_session
        - strnlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-client.c:262,3'
          Dst:             lws_strncpy
        - Src:             'lib/tls/openssl/openssl-client.c:269,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/tls/openssl/openssl-client.c:273,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:292,17'
          Dst:             SSL_new
        - Src:             'lib/tls/openssl/openssl-client.c:294,23'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-client.c:295,20'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-client.c:296,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:297,3'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:303,3'
          Dst:             lws_tls_reuse_session
        - Src:             'lib/tls/openssl/openssl-client.c:308,3'
          Dst:             SSL_set_info_callback
        - Src:             'lib/tls/openssl/openssl-client.c:308,3'
          Dst:             lws_ssl_info_callback
        - Src:             'lib/tls/openssl/openssl-client.c:315,30'
          Dst:             SSL_get0_param
        - Src:             'lib/tls/openssl/openssl-client.c:318,3'
          Dst:             X509_VERIFY_PARAM_set_hostflags
        - Src:             'lib/tls/openssl/openssl-client.c:321,8'
          Dst:             X509_VERIFY_PARAM_set1_ip_asc
        - Src:             'lib/tls/openssl/openssl-client.c:323,6'
          Dst:             strnlen
        - Src:             'lib/tls/openssl/openssl-client.c:322,4'
          Dst:             X509_VERIFY_PARAM_set1_host
        - Src:             'lib/tls/openssl/openssl-client.c:339,2'
          Dst:             SSL_set_verify
        - Src:             'lib/tls/openssl/openssl-client.c:339,2'
          Dst:             OpenSSL_client_verify_callback
        - Src:             'lib/tls/openssl/openssl-client.c:345,2'
          Dst:             SSL_ctrl
        - Src:             'lib/tls/openssl/openssl-client.c:365,2'
          Dst:             SSL_ctrl
        - Src:             'lib/tls/openssl/openssl-client.c:386,24'
          Dst:             BIO_new_socket
        - Src:             'lib/tls/openssl/openssl-client.c:388,2'
          Dst:             SSL_set_bio
        - Src:             'lib/tls/openssl/openssl-client.c:397,2'
          Dst:             BIO_ctrl
        - Src:             'lib/tls/openssl/openssl-client.c:408,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/tls/openssl/openssl-client.c:414,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:416,6'
          Dst:             lws_alpn_comma_to_openssl
        - Src:             'lib/tls/openssl/openssl-client.c:419,2'
          Dst:             SSL_set_alpn_protos
        - Src:             'lib/tls/openssl/openssl-client.c:422,2'
          Dst:             SSL_set_ex_data
        - Src:             'lib/tls/openssl/openssl-client.c:426,26'
          Dst:             lws_system_get_blob
        - Src:             'lib/tls/openssl/openssl-client.c:439,10'
          Dst:             lws_system_blob_get_size
        - Src:             'lib/tls/openssl/openssl-client.c:443,7'
          Dst:             lws_system_blob_get_single_ptr
        - Src:             'lib/tls/openssl/openssl-client.c:446,7'
          Dst:             SSL_use_certificate_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:448,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:449,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:453,7'
          Dst:             lws_system_get_blob
        - Src:             'lib/tls/openssl/openssl-client.c:459,10'
          Dst:             lws_system_blob_get_size
        - Src:             'lib/tls/openssl/openssl-client.c:463,7'
          Dst:             lws_system_blob_get_single_ptr
        - Src:             'lib/tls/openssl/openssl-client.c:466,7'
          Dst:             SSL_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:468,7'
          Dst:             SSL_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:471,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:472,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:476,7'
          Dst:             SSL_check_private_key
        - Src:             'lib/tls/openssl/openssl-client.c:477,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:478,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:482,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:489,2'
          Dst:             _lws_log
    - functionName:    SSL_get0_param
      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:    X509_VERIFY_PARAM_set_hostflags
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_VERIFY_PARAM_set1_ip_asc
      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:    strnlen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_VERIFY_PARAM_set1_host
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BIO_new_socket
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_set_bio
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_set_alpn_protos
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_use_certificate_ASN1
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_use_PrivateKey_ASN1
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_check_private_key
      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:    lws_genhkdf_expand_label
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 848
      functionLinenumberEnd: 880
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - int
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          148
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - lws_genhkdf_expand
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/lws-gencrypto-common.c:856,14'
          Dst:             strlen
        - Src:             'lib/tls/lws-gencrypto-common.c:879,9'
          Dst:             lws_genhkdf_expand
    - functionName:    lws_genhkdf_expand
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 801
      functionLinenumberEnd: 841
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          205
      EdgeCount:       52
      CyclomaticComplexity: 16
      functionsReached:
        - lws_genhmac_destroy
        - lws_genhmac_init
        - lws_genhmac_size
        - lws_genhmac_update
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/lws-gencrypto-common.c:804,14'
          Dst:             lws_genhmac_size
        - Src:             'lib/tls/lws-gencrypto-common.c:813,7'
          Dst:             lws_genhmac_init
        - Src:             'lib/tls/lws-gencrypto-common.c:816,16'
          Dst:             lws_genhmac_update
        - Src:             'lib/tls/lws-gencrypto-common.c:819,27'
          Dst:             lws_genhmac_update
        - Src:             'lib/tls/lws-gencrypto-common.c:822,7'
          Dst:             lws_genhmac_update
        - Src:             'lib/tls/lws-gencrypto-common.c:825,7'
          Dst:             lws_genhmac_destroy
        - Src:             'lib/tls/lws-gencrypto-common.c:839,2'
          Dst:             lws_genhmac_destroy
    - functionName:    lws_genhmac_size
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 659
      functionLinenumberEnd: 674
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       14
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib/tls/lws-gencrypto-common.c:660,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    lws_genhkdf_extract
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 765
      functionLinenumberEnd: 795
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          122
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - lws_genhmac_destroy
        - lws_genhmac_init
        - lws_genhmac_size
        - lws_genhmac_update
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/lws-gencrypto-common.c:771,7'
          Dst:             lws_genhmac_size
        - Src:             'lib/tls/lws-gencrypto-common.c:781,6'
          Dst:             lws_genhmac_init
        - Src:             'lib/tls/lws-gencrypto-common.c:784,17'
          Dst:             lws_genhmac_update
        - Src:             'lib/tls/lws-gencrypto-common.c:787,6'
          Dst:             lws_genhmac_destroy
        - Src:             'lib/tls/lws-gencrypto-common.c:793,2'
          Dst:             lws_genhmac_destroy
    - functionName:    lws_genhash_render_prefixed
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 741
      functionLinenumberEnd: 759
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          98
      EdgeCount:       17
      CyclomaticComplexity: 3
      functionsReached:
        - lws_genhash_render
        - lws_snprintf
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/tls/lws-gencrypto-common.c:745,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/lws-gencrypto-common.c:754,6'
          Dst:             lws_snprintf
        - Src:             'lib/tls/lws-gencrypto-common.c:758,9'
          Dst:             lws_genhash_render
    - functionName:    lws_genhash_render
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 708
      functionLinenumberEnd: 737
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          151
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - lws_genhash_size
        - lws_snprintf
        - lws_strncpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/lws-gencrypto-common.c:709,14'
          Dst:             lws_genhash_size
        - Src:             'lib/tls/lws-gencrypto-common.c:722,5'
          Dst:             lws_snprintf
        - Src:             'lib/tls/lws-gencrypto-common.c:723,4'
          Dst:             lws_strncpy
        - Src:             'lib/tls/lws-gencrypto-common.c:732,3'
          Dst:             lws_snprintf
    - functionName:    lws_genhash_size
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 638
      functionLinenumberEnd: 655
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       16
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    6
      BranchProfiles:
        - Branch String:   'lib/tls/lws-gencrypto-common.c:639,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    lws_gencrypto_padded_length
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 702
      functionLinenumberEnd: 703
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_gencrypto_destroy_elements
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 693
      functionLinenumberEnd: 699
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          65
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - lws_realloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/lws-gencrypto-common.c:698,4'
          Dst:             lws_realloc
    - functionName:    lws_base64_size
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 687
      functionLinenumberEnd: 688
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_gencrypto_bits_to_bytes
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 678
      functionLinenumberEnd: 683
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          28
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_gencrypto_jwe_enc_to_definition
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 621
      functionLinenumberEnd: 634
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/lws-gencrypto-common.c:625,8'
          Dst:             strcmp
    - functionName:    lws_gencrypto_jwe_alg_to_definition
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 603
      functionLinenumberEnd: 616
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/lws-gencrypto-common.c:607,8'
          Dst:             strcmp
    - functionName:    lws_gencrypto_jws_alg_to_definition
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 585
      functionLinenumberEnd: 598
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/lws-gencrypto-common.c:589,8'
          Dst:             strcmp
    - functionName:    lws_wsmsg_destroy
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 499
      functionLinenumberEnd: 504
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_buflist_destroy_all_segments
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:503,3'
          Dst:             lws_buflist_destroy_all_segments
    - functionName:    lws_buflist_destroy_all_segments
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 157
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_realloc
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:151,4'
          Dst:             lws_realloc
        - Src:             'lib/core/buflist.c:152,3'
          Dst:             lws_realloc
    - functionName:    lws_wsmsg_transfer
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 398
      functionLinenumberEnd: 445
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          159
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_wsmsg_append
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 449
      functionLinenumberEnd: 495
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         27
      ICount:          192
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - lws_buflist_append_segment
        - lws_wsmsg_transfer
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:462,7'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core/buflist.c:476,7'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core/buflist.c:492,2'
          Dst:             lws_wsmsg_transfer
    - functionName:    lws_buflist_append_segment
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          141
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_realloc
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:45,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:50,4'
          Dst:             _lws_log
        - Src:             'lib/core/buflist.c:54,4'
          Dst:             _lws_log
        - Src:             'lib/core/buflist.c:61,2'
          Dst:             _lws_log
        - Src:             'lib/core/buflist.c:64,31'
          Dst:             lws_realloc
        - Src:             'lib/core/buflist.c:67,3'
          Dst:             _lws_log
    - functionName:    lws_flow_req
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 366
      functionLinenumberEnd: 393
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          144
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - lws_buflist_total_len
        - lws_flow_feed
        - lws_ss_add_peer_tx_credit
        - lws_ss_get_est_peer_tx_credit
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:371,2'
          Dst:             lws_flow_feed
        - Src:             'lib/core/buflist.c:378,9'
          Dst:             lws_ss_get_est_peer_tx_credit
        - Src:             'lib/core/buflist.c:379,9'
          Dst:             lws_buflist_total_len
        - Src:             'lib/core/buflist.c:385,5'
          Dst:             lws_ss_add_peer_tx_credit
    - functionName:    lws_flow_feed
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 348
      functionLinenumberEnd: 362
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          87
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - lws_buflist_next_segment_len
        - lws_buflist_use_segment
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:353,3'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/core/buflist.c:355,14'
          Dst:             lws_buflist_next_segment_len
    - functionName:    lws_buflist_total_len
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 224
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_buflist_use_segment
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          120
      EdgeCount:       22
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - lws_buflist_destroy_segment
        - lws_buflist_next_segment_len
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:195,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:196,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:197,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:201,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:206,6'
          Dst:             lws_buflist_destroy_segment
        - Src:             'lib/core/buflist.c:210,9'
          Dst:             lws_buflist_next_segment_len
    - functionName:    lws_buflist_next_segment_len
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 161
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          149
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - __assert_fail
        - lws_buflist_destroy_segment
      functionUses:    18
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:171,7'
          Dst:             lws_buflist_destroy_segment
        - Src:             'lib/core/buflist.c:178,2'
          Dst:             __assert_fail
    - functionName:    lws_buflist_destroy_segment
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:131,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:136,3'
          Dst:             lws_realloc
        - Src:             'lib/core/buflist.c:137,2'
          Dst:             lws_realloc
    - functionName:    lws_buflist_get_frag_start_or_NULL
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 334
      functionLinenumberEnd: 344
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_buflist_describe
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 306
      functionLinenumberEnd: 329
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          89
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:312,3'
          Dst:             _lws_log
        - Src:             'lib/core/buflist.c:315,3'
          Dst:             _lws_log
        - Src:             'lib/core/buflist.c:323,4'
          Dst:             _lws_log
    - functionName:    lws_buflist_fragment_use
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 275
      functionLinenumberEnd: 301
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          161
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - lws_buflist_use_segment
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:298,2'
          Dst:             lws_buflist_use_segment
    - functionName:    lws_buflist_linear_use
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 254
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          97
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - lws_buflist_use_segment
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:266,3'
          Dst:             lws_buflist_use_segment
    - functionName:    lws_buflist_linear_copy
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 230
      functionLinenumberEnd: 249
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          107
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_buflist_append_segment_take_ownership
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          120
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_realloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:95,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:100,4'
          Dst:             _lws_log
        - Src:             'lib/core/buflist.c:104,4'
          Dst:             _lws_log
        - Src:             'lib/core/buflist.c:110,31'
          Dst:             lws_realloc
        - Src:             'lib/core/buflist.c:112,3'
          Dst:             _lws_log
    - functionName:    lws_get_fops
      functionSourceFile: '/src/libwebsockets/lib/core/vfs.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:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_vfs_file_open
      functionSourceFile: '/src/libwebsockets/lib/core/vfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          35
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_vfs_select_fops
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/vfs.c:147,13'
          Dst:             lws_vfs_select_fops
    - functionName:    lws_vfs_select_fops
      functionSourceFile: '/src/libwebsockets/lib/core/vfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          317
      EdgeCount:       59
      CyclomaticComplexity: 17
      functionsReached:
        - _lws_log
        - strncmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/vfs.c:95,9'
          Dst:             strncmp
        - Src:             'lib/core/vfs.c:116,5'
          Dst:             _lws_log
        - Src:             'lib/core/vfs.c:122,11'
          Dst:             strncmp
        - Src:             'lib/core/vfs.c:125,11'
          Dst:             strncmp
    - functionName:    lws_vfs_file_seek_end
      functionSourceFile: '/src/libwebsockets/lib/core/vfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 67
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_vfs_file_seek_set
      functionSourceFile: '/src/libwebsockets/lib/core/vfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          32
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_vfs_get_mod_time
      functionSourceFile: '/src/libwebsockets/lib/core/vfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 48
      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:    lws_vfs_get_length
      functionSourceFile: '/src/libwebsockets/lib/core/vfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_vfs_tell
      functionSourceFile: '/src/libwebsockets/lib/core/vfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_set_fops
      functionSourceFile: '/src/libwebsockets/lib/core/vfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 31
      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:    lws_b32_decode_string
      functionSourceFile: '/src/libwebsockets/lib/misc/base64-decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 378
      functionLinenumberEnd: 379
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_b32_decode_string_len
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/base64-decode.c:379,9'
          Dst:             lws_b32_decode_string_len
    - functionName:    lws_b32_decode_string_len
      functionSourceFile: '/src/libwebsockets/lib/misc/base64-decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 319
      functionLinenumberEnd: 374
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         58
      ICount:          364
      EdgeCount:       77
      CyclomaticComplexity: 21
      functionsReached:
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/base64-decode.c:325,17'
          Dst:             strlen
    - functionName:    lws_b32_encode_string
      functionSourceFile: '/src/libwebsockets/lib/misc/base64-decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 259
      functionLinenumberEnd: 296
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          304
      EdgeCount:       44
      CyclomaticComplexity: 12
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_b64_decode_string_len
      functionSourceFile: '/src/libwebsockets/lib/misc/base64-decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 249
      functionLinenumberEnd: 252
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_b64_decode_string
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/base64-decode.c:250,13'
          Dst:             _lws_b64_decode_string
    - functionName:    _lws_b64_decode_string
      functionSourceFile: '/src/libwebsockets/lib/misc/base64-decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 219
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          77
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
        - lws_b64_decode_state_init
        - lws_b64_decode_stateful
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/base64-decode.c:224,8'
          Dst:             strlen
        - Src:             'lib/misc/base64-decode.c:228,2'
          Dst:             lws_b64_decode_state_init
        - Src:             'lib/misc/base64-decode.c:229,6'
          Dst:             lws_b64_decode_stateful
        - Src:             'lib/misc/base64-decode.c:234,3'
          Dst:             _lws_log
    - functionName:    lws_b64_decode_state_init
      functionSourceFile: '/src/libwebsockets/lib/misc/base64-decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 107
      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:    lws_b64_decode_stateful
      functionSourceFile: '/src/libwebsockets/lib/misc/base64-decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 206
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         109
      ICount:          652
      EdgeCount:       149
      CyclomaticComplexity: 42
      functionsReached:
        - _lws_log
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/base64-decode.c:146,6'
          Dst:             _lws_log
        - Src:             'lib/misc/base64-decode.c:151,6'
          Dst:             _lws_log
    - functionName:    lws_b64_decode_string
      functionSourceFile: '/src/libwebsockets/lib/misc/base64-decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 244
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_b64_decode_string
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/base64-decode.c:244,14'
          Dst:             _lws_b64_decode_string
    - functionName:    lws_b64_encode_string_url
      functionSourceFile: '/src/libwebsockets/lib/misc/base64-decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_b64_encode_string
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/base64-decode.c:99,9'
          Dst:             _lws_b64_encode_string
    - functionName:    _lws_b64_encode_string
      functionSourceFile: '/src/libwebsockets/lib/misc/base64-decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          203
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_b64_encode_string
      functionSourceFile: '/src/libwebsockets/lib/misc/base64-decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 92
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_b64_encode_string
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/base64-decode.c:93,9'
          Dst:             _lws_b64_encode_string
    - functionName:    determine_format
      functionSourceFile: '/src/libwebsockets/lib/misc/upng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 353
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          123
      EdgeCount:       40
      CyclomaticComplexity: 19
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/upng.c:305,2'
          Branch Sides:    []
        - Branch String:   'lib/misc/upng.c:307,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/upng.c:320,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/upng.c:329,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/upng.c:342,3'
          Branch Sides:    []
      Callsites:       []
    - functionName:    paeth
      functionSourceFile: '/src/libwebsockets/lib/misc/upng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          126
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_upng_get_format
      functionSourceFile: '/src/libwebsockets/lib/misc/upng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 726
      functionLinenumberEnd: 727
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_upng_get_pixelsize
      functionSourceFile: '/src/libwebsockets/lib/misc/upng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 715
      functionLinenumberEnd: 721
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_upng_get_bitdepth
        - lws_upng_get_components
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/upng.c:716,18'
          Dst:             lws_upng_get_bitdepth
        - Src:             'lib/misc/upng.c:717,5'
          Dst:             lws_upng_get_components
    - functionName:    lws_upng_get_bitdepth
      functionSourceFile: '/src/libwebsockets/lib/misc/upng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 709
      functionLinenumberEnd: 710
      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:    lws_upng_get_components
      functionSourceFile: '/src/libwebsockets/lib/misc/upng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 692
      functionLinenumberEnd: 705
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          39
      EdgeCount:       12
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/misc/upng.c:693,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    lws_upng_get_bpp
      functionSourceFile: '/src/libwebsockets/lib/misc/upng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 685
      functionLinenumberEnd: 687
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_upng_get_bitdepth
        - lws_upng_get_components
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/upng.c:686,9'
          Dst:             lws_upng_get_bitdepth
        - Src:             'lib/misc/upng.c:687,4'
          Dst:             lws_upng_get_components
    - functionName:    lws_upng_get_height
      functionSourceFile: '/src/libwebsockets/lib/misc/upng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 679
      functionLinenumberEnd: 680
      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:    lws_upng_get_width
      functionSourceFile: '/src/libwebsockets/lib/misc/upng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 673
      functionLinenumberEnd: 674
      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:    lws_upng_free
      functionSourceFile: '/src/libwebsockets/lib/misc/upng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 663
      functionLinenumberEnd: 668
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          51
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/upng.c:665,3'
          Dst:             lws_realloc
        - Src:             'lib/misc/upng.c:667,2'
          Dst:             lws_realloc
    - functionName:    lws_upng_new
      functionSourceFile: '/src/libwebsockets/lib/misc/upng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 642
      functionLinenumberEnd: 659
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_zalloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/upng.c:645,22'
          Dst:             lws_zalloc
    - functionName:    unfilter_scanline
      functionSourceFile: '/src/libwebsockets/lib/misc/upng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 225
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         71
      ICount:          792
      EdgeCount:       86
      CyclomaticComplexity: 17
      functionsReached:
        - _lws_log
        - paeth
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/upng.c:146,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/upng.c:198,6'
          Dst:             paeth
        - Src:             'lib/misc/upng.c:202,6'
          Dst:             paeth
        - Src:             'lib/misc/upng.c:214,5'
          Dst:             paeth
        - Src:             'lib/misc/upng.c:217,3'
          Dst:             _lws_log
    - functionName:    lws_upng_decode
      functionSourceFile: '/src/libwebsockets/lib/misc/upng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 359
      functionLinenumberEnd: 638
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         143
      ICount:          1238
      EdgeCount:       186
      CyclomaticComplexity: 45
      functionsReached:
        - _lws_log
        - _lws_upng_inflate_data
        - determine_format
        - lws_realloc
        - lws_upng_get_bpp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/upng.c:376,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/upng.c:559,5'
          Branch Sides:    []
        - Branch String:   'lib/misc/upng.c:584,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/upng.c:434,16'
          Dst:             determine_format
        - Src:             'lib/misc/upng.c:460,16'
          Dst:             lws_upng_get_bpp
        - Src:             'lib/misc/upng.c:490,6'
          Dst:             _lws_log
        - Src:             'lib/misc/upng.c:498,29'
          Dst:             lws_realloc
        - Src:             'lib/misc/upng.c:500,6'
          Dst:             _lws_log
        - Src:             'lib/misc/upng.c:583,8'
          Dst:             _lws_upng_inflate_data
        - Src:             'lib/misc/upng.c:629,3'
          Dst:             _lws_log
    - functionName:    lws_upng_emit_next_line
      functionSourceFile: '/src/libwebsockets/lib/misc/upng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 230
      functionLinenumberEnd: 301
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         49
      ICount:          445
      EdgeCount:       63
      CyclomaticComplexity: 16
      functionsReached:
        - __assert_fail
        - lws_upng_decode
        - unfilter_scanline
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/upng.c:249,9'
          Dst:             lws_upng_decode
        - Src:             'lib/misc/upng.c:255,3'
          Dst:             __assert_fail
        - Src:             'lib/misc/upng.c:256,3'
          Dst:             __assert_fail
        - Src:             'lib/misc/upng.c:269,6'
          Dst:             unfilter_scanline
    - functionName:    convert_cr_tiny
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2185
      functionLinenumberEnd: 2201
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          103
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - add_clamp
        - clamp
        - sub_clamp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2189,15'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:2196,9'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2198,9'
          Dst:             sub_clamp
    - functionName:    clamp
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1676
      functionLinenumberEnd: 1684
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    add_clamp
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1844
      functionLinenumberEnd: 1854
      functionDepth:   0
      returnType:      char
      argCount:        2
      argTypes:
        - char
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    20
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sub_clamp
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1858
      functionLinenumberEnd: 1868
      functionDepth:   0
      returnType:      char
      argCount:        2
      argTypes:
        - char
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    20
      BranchProfiles:  []
      Callsites:       []
    - functionName:    convert_cb_tiny
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2165
      functionLinenumberEnd: 2181
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          103
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - add_clamp
        - clamp
        - sub_clamp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2169,15'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:2176,9'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:2178,9'
          Dst:             add_clamp
    - functionName:    copy_y_tiny
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2151
      functionLinenumberEnd: 2161
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          67
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - clamp
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2156,14'
          Dst:             clamp
    - functionName:    imul_b1_b3
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1634
      functionLinenumberEnd: 1638
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    imul_b2
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1645
      functionLinenumberEnd: 1649
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    imul_b4
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1656
      functionLinenumberEnd: 1660
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    imul_b5
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1667
      functionLinenumberEnd: 1671
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    upsample_cr
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1987
      functionLinenumberEnd: 2019
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          187
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - add_clamp
        - sub_clamp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2000,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2001,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2002,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2003,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2006,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:2007,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:2008,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:2009,12'
          Dst:             sub_clamp
    - functionName:    upsample_cb
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1880
      functionLinenumberEnd: 1912
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          187
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - add_clamp
        - sub_clamp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1893,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1894,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1895,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1896,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1899,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:1900,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:1901,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:1902,12'
          Dst:             add_clamp
    - functionName:    upsample_crh
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2024
      functionLinenumberEnd: 2050
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          147
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - add_clamp
        - sub_clamp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2037,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2038,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2041,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:2042,12'
          Dst:             sub_clamp
    - functionName:    upsample_cbh
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1917
      functionLinenumberEnd: 1943
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          147
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - add_clamp
        - sub_clamp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1930,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1931,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1934,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:1935,12'
          Dst:             add_clamp
    - functionName:    upsample_crv
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2055
      functionLinenumberEnd: 2082
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          151
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - add_clamp
        - sub_clamp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2068,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2069,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2072,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:2073,12'
          Dst:             sub_clamp
    - functionName:    upsample_cbv
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1948
      functionLinenumberEnd: 1975
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          151
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - add_clamp
        - sub_clamp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1961,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1962,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1965,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:1966,12'
          Dst:             add_clamp
    - functionName:    convert_cr
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2129
      functionLinenumberEnd: 2147
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          103
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - add_clamp
        - sub_clamp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2140,9'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2144,9'
          Dst:             sub_clamp
    - functionName:    convert_cb
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2106
      functionLinenumberEnd: 2124
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          103
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - add_clamp
        - sub_clamp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2117,9'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:2121,9'
          Dst:             add_clamp
    - functionName:    copy_y
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2087
      functionLinenumberEnd: 2101
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          81
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    idct_cols
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1765
      functionLinenumberEnd: 1840
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          459
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - clamp
        - imul_b1_b3
        - imul_b2
        - imul_b4
        - imul_b5
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1776,16'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1799,28'
          Dst:             imul_b5
        - Src:             'lib/misc/jpeg.c:1800,29'
          Dst:             imul_b4
        - Src:             'lib/misc/jpeg.c:1802,34'
          Dst:             imul_b2
        - Src:             'lib/misc/jpeg.c:1808,28'
          Dst:             imul_b1_b3
        - Src:             'lib/misc/jpeg.c:1821,27'
          Dst:             imul_b1_b3
        - Src:             'lib/misc/jpeg.c:1829,19'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1830,19'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1831,19'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1832,19'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1833,19'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1834,19'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1835,19'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1836,19'
          Dst:             clamp
    - functionName:    idct_rows
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1688
      functionLinenumberEnd: 1761
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          401
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - imul_b1_b3
        - imul_b2
        - imul_b4
        - imul_b5
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1721,28'
          Dst:             imul_b5
        - Src:             'lib/misc/jpeg.c:1722,29'
          Dst:             imul_b4
        - Src:             'lib/misc/jpeg.c:1724,34'
          Dst:             imul_b2
        - Src:             'lib/misc/jpeg.c:1730,28'
          Dst:             imul_b1_b3
        - Src:             'lib/misc/jpeg.c:1743,27'
          Dst:             imul_b1_b3
    - functionName:    get_extend_offset
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 486
      functionLinenumberEnd: 491
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          39
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_extend_test
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 477
      functionLinenumberEnd: 482
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          37
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_bit
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 450
      functionLinenumberEnd: 473
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          105
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - get_octet
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:459,7'
          Dst:             get_octet
    - functionName:    get_octet
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 337
      functionLinenumberEnd: 372
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          147
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log
        - get_char
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:342,7'
          Dst:             get_char
        - Src:             'lib/misc/jpeg.c:349,7'
          Dst:             get_char
        - Src:             'lib/misc/jpeg.c:358,4'
          Dst:             _lws_log
    - functionName:    get_char
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 318
      functionLinenumberEnd: 333
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          69
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    transform_block_tiny
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2205
      functionLinenumberEnd: 2282
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          173
      EdgeCount:       65
      CyclomaticComplexity: 32
      functionsReached:
        - convert_cb_tiny
        - convert_cr_tiny
        - copy_y_tiny
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:2206,2'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:2212,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:2226,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:2243,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:2260,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2208,3'
          Dst:             copy_y_tiny
        - Src:             'lib/misc/jpeg.c:2214,4'
          Dst:             copy_y_tiny
        - Src:             'lib/misc/jpeg.c:2217,4'
          Dst:             convert_cb_tiny
        - Src:             'lib/misc/jpeg.c:2220,4'
          Dst:             convert_cr_tiny
        - Src:             'lib/misc/jpeg.c:2228,4'
          Dst:             copy_y_tiny
        - Src:             'lib/misc/jpeg.c:2231,4'
          Dst:             copy_y_tiny
        - Src:             'lib/misc/jpeg.c:2234,4'
          Dst:             convert_cb_tiny
        - Src:             'lib/misc/jpeg.c:2237,4'
          Dst:             convert_cr_tiny
        - Src:             'lib/misc/jpeg.c:2245,4'
          Dst:             copy_y_tiny
        - Src:             'lib/misc/jpeg.c:2248,4'
          Dst:             copy_y_tiny
        - Src:             'lib/misc/jpeg.c:2251,4'
          Dst:             convert_cb_tiny
        - Src:             'lib/misc/jpeg.c:2254,4'
          Dst:             convert_cr_tiny
        - Src:             'lib/misc/jpeg.c:2262,4'
          Dst:             copy_y_tiny
        - Src:             'lib/misc/jpeg.c:2265,4'
          Dst:             copy_y_tiny
        - Src:             'lib/misc/jpeg.c:2268,4'
          Dst:             copy_y_tiny
        - Src:             'lib/misc/jpeg.c:2271,4'
          Dst:             copy_y_tiny
        - Src:             'lib/misc/jpeg.c:2274,4'
          Dst:             convert_cb_tiny
        - Src:             'lib/misc/jpeg.c:2277,4'
          Dst:             convert_cr_tiny
    - functionName:    transform_block
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2286
      functionLinenumberEnd: 2395
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          197
      EdgeCount:       65
      CyclomaticComplexity: 32
      functionsReached:
        - convert_cb
        - convert_cr
        - copy_y
        - idct_cols
        - idct_rows
        - upsample_cb
        - upsample_cbh
        - upsample_cbv
        - upsample_cr
        - upsample_crh
        - upsample_crv
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:2290,2'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:2298,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:2316,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:2339,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:2362,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2287,2'
          Dst:             idct_rows
        - Src:             'lib/misc/jpeg.c:2288,2'
          Dst:             idct_cols
        - Src:             'lib/misc/jpeg.c:2293,3'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2300,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2304,4'
          Dst:             convert_cb
        - Src:             'lib/misc/jpeg.c:2308,4'
          Dst:             convert_cr
        - Src:             'lib/misc/jpeg.c:2318,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2322,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2326,4'
          Dst:             upsample_cbv
        - Src:             'lib/misc/jpeg.c:2327,4'
          Dst:             upsample_cbv
        - Src:             'lib/misc/jpeg.c:2331,4'
          Dst:             upsample_crv
        - Src:             'lib/misc/jpeg.c:2332,4'
          Dst:             upsample_crv
        - Src:             'lib/misc/jpeg.c:2341,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2345,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2349,4'
          Dst:             upsample_cbh
        - Src:             'lib/misc/jpeg.c:2350,4'
          Dst:             upsample_cbh
        - Src:             'lib/misc/jpeg.c:2354,4'
          Dst:             upsample_crh
        - Src:             'lib/misc/jpeg.c:2355,4'
          Dst:             upsample_crh
        - Src:             'lib/misc/jpeg.c:2364,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2368,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2372,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2376,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2380,4'
          Dst:             upsample_cb
        - Src:             'lib/misc/jpeg.c:2381,4'
          Dst:             upsample_cb
        - Src:             'lib/misc/jpeg.c:2382,4'
          Dst:             upsample_cb
        - Src:             'lib/misc/jpeg.c:2383,4'
          Dst:             upsample_cb
        - Src:             'lib/misc/jpeg.c:2387,4'
          Dst:             upsample_cr
        - Src:             'lib/misc/jpeg.c:2388,4'
          Dst:             upsample_cr
        - Src:             'lib/misc/jpeg.c:2389,4'
          Dst:             upsample_cr
        - Src:             'lib/misc/jpeg.c:2390,4'
          Dst:             upsample_cr
    - functionName:    huff_extend
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 495
      functionLinenumberEnd: 497
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - short
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - get_extend_offset
        - get_extend_test
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:496,25'
          Dst:             get_extend_test
        - Src:             'lib/misc/jpeg.c:497,9'
          Dst:             get_extend_offset
    - functionName:    huff_decode
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 502
      functionLinenumberEnd: 546
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          202
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - get_bit
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:507,7'
          Dst:             get_bit
        - Src:             'lib/misc/jpeg.c:529,7'
          Dst:             get_bit
    - functionName:    interval_restart
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1258
      functionLinenumberEnd: 1344
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         39
      ICount:          259
      EdgeCount:       49
      CyclomaticComplexity: 12
      functionsReached:
        - _lws_log
        - get_bits8
        - get_char
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:1262,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1265,8'
          Dst:             get_char
        - Src:             'lib/misc/jpeg.c:1277,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1288,8'
          Dst:             get_char
        - Src:             'lib/misc/jpeg.c:1299,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1306,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1327,7'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:1335,7'
          Dst:             get_bits8
    - functionName:    get_bits8
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 376
      functionLinenumberEnd: 400
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          148
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - get_octet
      functionUses:    32
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:383,7'
          Dst:             get_octet
    - functionName:    check_quant_tables
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1368
      functionLinenumberEnd: 1382
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          75
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1375,4'
          Dst:             _lws_log
    - functionName:    check_huff_tables
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1348
      functionLinenumberEnd: 1364
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          116
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1357,4'
          Dst:             _lws_log
    - functionName:    read_sos_marker
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 765
      functionLinenumberEnd: 897
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         65
      ICount:          495
      EdgeCount:       80
      CyclomaticComplexity: 17
      functionsReached:
        - _lws_log
        - get_bits16
        - get_bits8
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:769,2'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:802,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:771,7'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:781,7'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:791,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:804,9'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:812,9'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:823,6'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:843,7'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:852,7'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:861,7'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:870,7'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:882,8'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:894,2'
          Dst:             _lws_log
    - functionName:    get_bits16
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 404
      functionLinenumberEnd: 446
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          247
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - get_octet
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:409,2'
          Dst:             __assert_fail
        - Src:             'lib/misc/jpeg.c:414,7'
          Dst:             get_octet
        - Src:             'lib/misc/jpeg.c:428,7'
          Dst:             get_octet
    - functionName:    createWinogradQuant
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1609
      functionLinenumberEnd: 1621
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          52
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    huffCreate
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 579
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          113
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_huff_value
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 602
      functionLinenumberEnd: 617
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          52
      EdgeCount:       12
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:605,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    get_huff_table
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 583
      functionLinenumberEnd: 598
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          48
      EdgeCount:       12
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:586,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    getMaxHuffCodes
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 621
      functionLinenumberEnd: 622
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_jpeg_get_pixelsize
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2946
      functionLinenumberEnd: 2947
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_jpeg_get_components
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2940
      functionLinenumberEnd: 2941
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_jpeg_get_bitdepth
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2934
      functionLinenumberEnd: 2935
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_jpeg_get_bpp
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2928
      functionLinenumberEnd: 2929
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_jpeg_get_height
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2922
      functionLinenumberEnd: 2923
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_jpeg_get_width
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2916
      functionLinenumberEnd: 2917
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_jpeg_mcu_next
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2399
      functionLinenumberEnd: 2669
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         155
      ICount:          1250
      EdgeCount:       203
      CyclomaticComplexity: 50
      functionsReached:
        - _lws_log
        - get_bits16
        - get_bits8
        - huff_decode
        - huff_extend
        - interval_restart
        - transform_block
        - transform_block_tiny
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:2439,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2407,5'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2408,9'
          Dst:             interval_restart
        - Src:             'lib/misc/jpeg.c:2441,8'
          Dst:             huff_decode
        - Src:             'lib/misc/jpeg.c:2466,10'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:2469,10'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:2477,19'
          Dst:             huff_extend
        - Src:             'lib/misc/jpeg.c:2497,11'
          Dst:             huff_decode
        - Src:             'lib/misc/jpeg.c:2514,12'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:2517,12'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:2530,9'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2544,8'
          Dst:             huff_extend
        - Src:             'lib/misc/jpeg.c:2551,8'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2570,5'
          Dst:             transform_block
        - Src:             'lib/misc/jpeg.c:2572,5'
          Dst:             transform_block_tiny
    - functionName:    init_scan
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1386
      functionLinenumberEnd: 1467
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         37
      ICount:          269
      EdgeCount:       46
      CyclomaticComplexity: 11
      functionsReached:
        - _lws_log
        - check_huff_tables
        - check_quant_tables
        - get_bits8
        - process_markers
        - read_sos_marker
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:1390,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1392,7'
          Dst:             process_markers
        - Src:             'lib/misc/jpeg.c:1397,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1403,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1413,7'
          Dst:             read_sos_marker
        - Src:             'lib/misc/jpeg.c:1422,7'
          Dst:             check_huff_tables
        - Src:             'lib/misc/jpeg.c:1426,7'
          Dst:             check_quant_tables
        - Src:             'lib/misc/jpeg.c:1450,7'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:1458,7'
          Dst:             get_bits8
    - functionName:    process_markers
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 903
      functionLinenumberEnd: 1253
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         175
      ICount:          1155
      EdgeCount:       214
      CyclomaticComplexity: 41
      functionsReached:
        - _lws_log
        - createWinogradQuant
        - getMaxHuffCodes
        - get_bits16
        - get_bits8
        - get_huff_table
        - get_huff_value
        - huffCreate
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:936,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:985,5'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:1069,4'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:1113,7'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:1176,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:913,11'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:923,10'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:963,9'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:968,6'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:987,10'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:993,7'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1009,11'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:1021,10'
          Dst:             getMaxHuffCodes
        - Src:             'lib/misc/jpeg.c:1022,7'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1032,11'
          Dst:             get_huff_table
        - Src:             'lib/misc/jpeg.c:1033,10'
          Dst:             get_huff_value
        - Src:             'lib/misc/jpeg.c:1036,11'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:1047,7'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1055,6'
          Dst:             huffCreate
        - Src:             'lib/misc/jpeg.c:1063,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1071,9'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:1076,6'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1094,11'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:1098,8'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1115,12'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:1127,13'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:1151,6'
          Dst:             createWinogradQuant
        - Src:             'lib/misc/jpeg.c:1161,7'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1178,9'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:1182,6'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1191,9'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:1211,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1220,9'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:1224,6'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1237,9'
          Dst:             get_bits8
    - functionName:    init_frame
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1471
      functionLinenumberEnd: 1585
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         58
      ICount:          520
      EdgeCount:       76
      CyclomaticComplexity: 20
      functionsReached:
        - _lws_log
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:1472,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1475,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1492,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1560,3'
          Dst:             _lws_log
    - functionName:    read_sof_marker
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 630
      functionLinenumberEnd: 760
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         64
      ICount:          453
      EdgeCount:       80
      CyclomaticComplexity: 18
      functionsReached:
        - _lws_log
        - get_bits16
        - get_bits8
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:634,2'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:713,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:636,7'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:645,7'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:650,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:659,7'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:664,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:673,7'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:678,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:682,3'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:689,7'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:694,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:700,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:715,9'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:724,9'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:733,9'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:742,9'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:747,6'
          Dst:             _lws_log
    - functionName:    lws_jpeg_emit_next_line
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2692
      functionLinenumberEnd: 2912
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         97
      ICount:          698
      EdgeCount:       127
      CyclomaticComplexity: 32
      functionsReached:
        - _lws_log
        - get_bits8
        - init_frame
        - init_scan
        - lws_jpeg_mcu_next
        - lws_zalloc
        - process_markers
        - read_sof_marker
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:2701,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2705,8'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:2713,8'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:2732,9'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:2737,6'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2747,7'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2752,6'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2765,5'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2776,8'
          Dst:             process_markers
        - Src:             'lib/misc/jpeg.c:2781,5'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2792,8'
          Dst:             read_sof_marker
        - Src:             'lib/misc/jpeg.c:2807,8'
          Dst:             init_frame
        - Src:             'lib/misc/jpeg.c:2817,8'
          Dst:             init_scan
        - Src:             'lib/misc/jpeg.c:2847,15'
          Dst:             lws_zalloc
        - Src:             'lib/misc/jpeg.c:2849,5'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2874,8'
          Dst:             lws_jpeg_mcu_next
    - functionName:    lws_jpeg_free
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2684
      functionLinenumberEnd: 2687
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2685,2'
          Dst:             lws_realloc
        - Src:             'lib/misc/jpeg.c:2686,2'
          Dst:             lws_realloc
    - functionName:    lws_jpeg_new
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2673
      functionLinenumberEnd: 2680
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_zalloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2674,18'
          Dst:             lws_zalloc
    - functionName:    fillentry_bitcount
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-font-mcufont.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 107
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          63
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    write_ref_codeword
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-font-mcufont.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 186
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          214
      EdgeCount:       19
      CyclomaticComplexity: 7
      functionsReached:
        - fillentry_bitcount
        - lws_ser_ru16be
        - lws_ser_ru32be
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:170,23'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:172,8'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:173,7'
          Dst:             lws_ser_ru16be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:174,43'
          Dst:             lws_ser_ru16be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:177,33'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:182,33'
          Dst:             fillentry_bitcount
    - functionName:    mcufont_next_code
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-font-mcufont.c'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          147
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_ser_ru16be
        - lws_ser_ru32be
        - write_ref_codeword
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:197,23'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:198,24'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:199,3'
          Dst:             write_ref_codeword
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:205,7'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:206,6'
          Dst:             lws_ser_ru16be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:207,42'
          Dst:             lws_ser_ru16be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:210,32'
          Dst:             lws_ser_ru32be
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      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:    lws_display_font_mcufont_render
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-font-mcufont.c'
      linkageType:     InternalLinkage
      functionLinenumber: 333
      functionLinenumberEnd: 528
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         83
      ICount:          854
      EdgeCount:       104
      CyclomaticComplexity: 23
      functionsReached:
        - __assert_fail
        - draw_px
        - lws_display_dlo_text_attach_glyphs
        - lws_dll2_get_head
        - lws_fx_add
        - lws_fx_roundup
        - lws_fx_sub
        - lws_ser_ru16be
        - mcufont_next_code
        - write_ref_codeword
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/dlo/dlo-font-mcufont.c:401,4'
          Branch Sides:    []
        - Branch String:   'lib/misc/dlo/dlo-font-mcufont.c:403,5'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:342,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:343,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:344,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:345,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:347,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:354,6'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:368,3'
          Dst:             lws_display_dlo_text_attach_glyphs
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:370,14'
          Dst:             lws_ser_ru16be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:372,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:375,4'
          Dst:             lws_fx_sub
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:392,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:400,18'
          Dst:             lws_ser_ru16be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:405,6'
          Dst:             mcufont_next_code
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:444,7'
          Dst:             __assert_fail
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:460,8'
          Dst:             __assert_fail
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:491,8'
          Dst:             __assert_fail
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:496,6'
          Dst:             write_ref_codeword
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:509,6'
          Dst:             draw_px
    - functionName:    draw_px
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-font-mcufont.c'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          102
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - lws_fx_add
        - lws_surface_set_px
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:123,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:138,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:140,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:141,2'
          Dst:             lws_surface_set_px
    - functionName:    font_mcufont_uniglyph
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-font-mcufont.c'
      linkageType:     InternalLinkage
      functionLinenumber: 261
      functionLinenumberEnd: 283
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          92
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - font_mcufont_uniglyph_lookup
        - lws_dll2_add_tail
        - lwsac_use_zero
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:266,8'
          Dst:             font_mcufont_uniglyph_lookup
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:271,6'
          Dst:             lwsac_use_zero
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:280,2'
          Dst:             lws_dll2_add_tail
    - functionName:    font_mcufont_uniglyph_lookup
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-font-mcufont.c'
      linkageType:     InternalLinkage
      functionLinenumber: 218
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          206
      EdgeCount:       43
      CyclomaticComplexity: 13
      functionsReached:
        - lws_ser_ru16be
        - lws_ser_ru32be
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:220,20'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:221,21'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:229,18'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:229,46'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:235,20'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:241,7'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:240,12'
          Dst:             lws_ser_ru16be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:252,18'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:254,13'
          Dst:             lws_ser_ru32be
    - functionName:    lws_display_font_mcufont_image_glyph
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-font-mcufont.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 329
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          113
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - font_mcufont_uniglyph
        - lws_display_font_mcufont_getcwidth
        - lws_ser_ru16be
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:310,32'
          Dst:             lws_ser_ru16be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:312,8'
          Dst:             lws_ser_ru16be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:313,37'
          Dst:             lws_ser_ru16be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:316,2'
          Dst:             lws_display_font_mcufont_getcwidth
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:321,6'
          Dst:             font_mcufont_uniglyph
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:325,23'
          Dst:             lws_ser_ru16be
    - functionName:    lws_display_font_mcufont_getcwidth
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-font-mcufont.c'
      linkageType:     InternalLinkage
      functionLinenumber: 288
      functionLinenumberEnd: 299
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          57
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - font_mcufont_uniglyph_lookup
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:290,17'
          Dst:             font_mcufont_uniglyph_lookup
    - functionName:    _sha1_init
      functionSourceFile: '/src/libwebsockets/lib/misc/sha-1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 193
      functionLinenumberEnd: 200
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          28
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_SHA1
      functionSourceFile: '/src/libwebsockets/lib/misc/sha-1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 286
      functionLinenumberEnd: 293
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _sha1_init
        - sha1_loop
        - sha1_result
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/sha-1.c:289,2'
          Dst:             _sha1_init
        - Src:             'lib/misc/sha-1.c:290,2'
          Dst:             sha1_loop
        - Src:             'lib/misc/sha-1.c:291,2'
          Dst:             sha1_result
    - functionName:    sha1_loop
      functionSourceFile: '/src/libwebsockets/lib/misc/sha-1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 238
      functionLinenumberEnd: 255
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          119
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - sha1_step
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/sha-1.c:252,4'
          Dst:             sha1_step
    - functionName:    sha1_result
      functionSourceFile: '/src/libwebsockets/lib/misc/sha-1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 259
      functionLinenumberEnd: 278
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          160
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sha1_pad
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/sha-1.c:263,2'
          Dst:             sha1_pad
    - functionName:    sha1_pad
      functionSourceFile: '/src/libwebsockets/lib/misc/sha-1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 234
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         33
      ICount:          489
      EdgeCount:       43
      CyclomaticComplexity: 12
      functionsReached:
        - sha1_step
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/sha-1.c:208,2'
          Dst:             sha1_step
        - Src:             'lib/misc/sha-1.c:216,3'
          Dst:             sha1_step
        - Src:             'lib/misc/sha-1.c:229,2'
          Dst:             sha1_step
        - Src:             'lib/misc/sha-1.c:229,25'
          Dst:             sha1_step
        - Src:             'lib/misc/sha-1.c:230,2'
          Dst:             sha1_step
        - Src:             'lib/misc/sha-1.c:230,25'
          Dst:             sha1_step
        - Src:             'lib/misc/sha-1.c:231,2'
          Dst:             sha1_step
        - Src:             'lib/misc/sha-1.c:231,25'
          Dst:             sha1_step
        - Src:             'lib/misc/sha-1.c:232,2'
          Dst:             sha1_step
        - Src:             'lib/misc/sha-1.c:232,25'
          Dst:             sha1_step
    - functionName:    sha1_step
      functionSourceFile: '/src/libwebsockets/lib/misc/sha-1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 187
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          1060
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lejp_string_unify_part
      functionSourceFile: '/src/libwebsockets/lib/misc/lejp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 980
      functionLinenumberEnd: 1011
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          219
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - lwsac_use
        - lwsac_use_zero
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lejp.c:992,16'
          Dst:             lwsac_use
        - Src:             'lib/misc/lejp.c:997,7'
          Dst:             lwsac_use_zero
    - functionName:    lejp_string_unify
      functionSourceFile: '/src/libwebsockets/lib/misc/lejp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 957
      functionLinenumberEnd: 976
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          108
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - lwsac_use
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lejp.c:963,15'
          Dst:             lwsac_use
    - functionName:    lejp_error_to_string
      functionSourceFile: '/src/libwebsockets/lib/misc/lejp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 943
      functionLinenumberEnd: 953
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          42
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lejp_parser_push
      functionSourceFile: '/src/libwebsockets/lib/misc/lejp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 899
      functionLinenumberEnd: 924
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          101
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - lejp_check_path_match
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lejp.c:905,2'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:918,2'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:920,2'
          Dst:             _lws_log
    - functionName:    lejp_check_path_match
      functionSourceFile: '/src/libwebsockets/lib/misc/lejp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         39
      ICount:          266
      EdgeCount:       51
      CyclomaticComplexity: 14
      functionsReached: []
      functionUses:    14
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lejp_parser_pop
      functionSourceFile: '/src/libwebsockets/lib/misc/lejp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 928
      functionLinenumberEnd: 939
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - lejp_check_path_match
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lejp.c:933,2'
          Dst:             _lws_log
        - Src:             'lib/misc/lejp.c:936,2'
          Dst:             lejp_check_path_match
    - functionName:    lejp_parse
      functionSourceFile: '/src/libwebsockets/lib/misc/lejp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 894
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         397
      ICount:          3298
      EdgeCount:       535
      CyclomaticComplexity: 140
      functionsReached:
        - lejp_check_path_match
        - lejp_parser_pop
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/misc/lejp.c:268,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/lejp.c:389,4'
          Branch Sides:    []
        - Branch String:   'lib/misc/lejp.c:455,4'
          Branch Sides:    []
        - Branch String:   'lib/misc/lejp.c:646,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/lejp.c:280,6'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:285,6'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:442,4'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:471,5'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:499,6'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:503,6'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:539,6'
          Dst:             lejp_parser_pop
        - Src:             'lib/misc/lejp.c:541,6'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:700,5'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:795,4'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:804,5'
          Dst:             lejp_parser_pop
        - Src:             'lib/misc/lejp.c:819,5'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:826,4'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:830,5'
          Dst:             lejp_parser_pop
    - functionName:    lejp_get_wildcard
      functionSourceFile: '/src/libwebsockets/lib/misc/lejp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 216
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          141
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lejp_change_callback
      functionSourceFile: '/src/libwebsockets/lib/misc/lejp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          48
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lejp_destruct
      functionSourceFile: '/src/libwebsockets/lib/misc/lejp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          44
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lejp_construct
      functionSourceFile: '/src/libwebsockets/lib/misc/lejp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          110
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_callback_http_dummy
      functionSourceFile: '/src/libwebsockets/lib/core-net/dummy-callback.c'
      linkageType:     InternalLinkage
      functionLinenumber: 293
      functionLinenumberEnd: 937
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          135
      EdgeCount:       28
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log_cx
        - lws_http_transaction_completed
        - lws_log_prepend_wsi
        - lws_return_http_status
        - lws_write
        - lwsl_wsi_get_cx
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib/core-net/dummy-callback.c:307,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/dummy-callback.c:311,7'
          Dst:             lws_return_http_status
        - Src:             'lib/core-net/dummy-callback.c:314,7'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/core-net/dummy-callback.c:328,7'
          Dst:             lws_return_http_status
        - Src:             'lib/core-net/dummy-callback.c:334,7'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/core-net/dummy-callback.c:488,4'
          Dst:             lws_write
        - Src:             'lib/core-net/dummy-callback.c:490,8'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/core-net/dummy-callback.c:917,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/dummy-callback.c:917,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/dummy-callback.c:917,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_ssl_pending_no_ssl
      functionSourceFile: '/src/libwebsockets/lib/core-net/output.c'
      linkageType:     InternalLinkage
      functionLinenumber: 407
      functionLinenumberEnd: 412
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ssl_capable_write_no_ssl
      functionSourceFile: '/src/libwebsockets/lib/core-net/output.c'
      linkageType:     InternalLinkage
      functionLinenumber: 325
      functionLinenumberEnd: 403
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          194
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - _lws_log_cx
        - lws_has_buffered_out
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
        - send
        - sendto
        - write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/output.c:344,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/output.c:345,13'
          Dst:             sendto
        - Src:             'lib/core-net/output.c:352,13'
          Dst:             sendto
        - Src:             'lib/core-net/output.c:361,13'
          Dst:             write
        - Src:             'lib/core-net/output.c:367,13'
          Dst:             send
        - Src:             'lib/core-net/output.c:389,6'
          Dst:             __errno_location
        - Src:             'lib/core-net/output.c:390,6'
          Dst:             __errno_location
        - Src:             'lib/core-net/output.c:391,6'
          Dst:             __errno_location
        - Src:             'lib/core-net/output.c:392,7'
          Dst:             __errno_location
        - Src:             'lib/core-net/output.c:399,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:399,2'
          Dst:             __errno_location
        - Src:             'lib/core-net/output.c:399,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:399,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_ssl_capable_read_no_ssl
      functionSourceFile: '/src/libwebsockets/lib/core-net/output.c'
      linkageType:     InternalLinkage
      functionLinenumber: 249
      functionLinenumberEnd: 321
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          157
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - __errno_location
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
        - recv
        - recvfrom
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/output.c:252,2'
          Dst:             __errno_location
        - Src:             'lib/core-net/output.c:262,12'
          Dst:             recvfrom
        - Src:             'lib/core-net/output.c:270,12'
          Dst:             recv
        - Src:             'lib/core-net/output.c:285,7'
          Dst:             __errno_location
        - Src:             'lib/core-net/output.c:318,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:318,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:318,2'
          Dst:             lws_log_prepend_wsi
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_write
      functionSourceFile: '/src/libwebsockets/lib/core-net/output.c'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          123
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_issue_raw
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    23
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/output.c:221,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:221,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:221,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/output.c:230,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/output.c:233,7'
          Dst:             lws_issue_raw
    - functionName:    lws_issue_raw
      functionSourceFile: '/src/libwebsockets/lib/core-net/output.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         74
      ICount:          510
      EdgeCount:       98
      CyclomaticComplexity: 26
      functionsReached:
        - _lws_log_cx
        - lws_buflist_append_segment
        - lws_buflist_next_segment_len
        - lws_buflist_use_segment
        - lws_callback_on_writable
        - lws_get_context
        - lws_has_buffered_out
        - lws_http_transaction_completed
        - lws_log_prepend_wsi
        - lws_ssl_capable_write
        - lwsl_wsi_get_cx
      functionUses:    12
      BranchProfiles:
        - Branch String:   'lib/core-net/output.c:112,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/output.c:33,32'
          Dst:             lws_get_context
        - Src:             'lib/core-net/output.c:49,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/output.c:56,13'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/output.c:57,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:57,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:57,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/output.c:66,7'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core-net/output.c:76,9'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/core-net/output.c:79,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:79,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:79,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/output.c:86,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:86,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:86,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/output.c:105,21'
          Dst:             lws_ssl_capable_write
        - Src:             'lib/core-net/output.c:107,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:107,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:107,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/output.c:136,6'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/output.c:138,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:138,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:138,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/output.c:140,4'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/core-net/output.c:143,8'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/output.c:144,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:144,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:144,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/output.c:148,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:148,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:148,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/output.c:160,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:160,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:160,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/output.c:163,12'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/core-net/output.c:175,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/output.c:195,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:195,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:195,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/output.c:198,6'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core-net/output.c:209,2'
          Dst:             lws_callback_on_writable
    - functionName:    lws_routing_table_get
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 411
      functionLinenumberEnd: 412
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _lws_route_pt_close_unroutable
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 345
      functionLinenumberEnd: 374
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          117
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log_cx
        - _lws_route_check_wsi
        - _lws_routing_table_dump
        - lws_log_prepend_context
        - lws_log_prepend_wsi
        - lws_set_timeout
        - lwsl_context_get_cx
        - lwsl_wsi_get_cx
        - wsi_from_fd
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:357,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:357,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:357,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/route.c:359,2'
          Dst:             _lws_routing_table_dump
        - Src:             'lib/core-net/route.c:363,9'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/route.c:367,7'
          Dst:             _lws_route_check_wsi
        - Src:             'lib/core-net/route.c:368,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/route.c:368,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:368,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/route.c:369,4'
          Dst:             lws_set_timeout
    - functionName:    _lws_routing_table_dump
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          45
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log_cx
        - _lws_routing_entry_dump
        - lws_dll2_get_head
        - lws_log_prepend_context
        - lwsl_context_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:74,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:74,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:74,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/route.c:75,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/route.c:79,3'
          Dst:             _lws_routing_entry_dump
    - functionName:    _lws_route_check_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 299
      functionLinenumberEnd: 341
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          138
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - _lws_log_cx
        - _lws_route_est_outgoing
        - _lws_route_find_source
        - lws_log_prepend_wsi
        - lws_sa46_write_numeric_address
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:315,7'
          Dst:             _lws_route_est_outgoing
        - Src:             'lib/core-net/route.c:317,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/route.c:317,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:317,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/route.c:323,2'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/route.c:329,7'
          Dst:             _lws_route_find_source
        - Src:             'lib/core-net/route.c:331,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/route.c:333,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/route.c:333,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:333,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/route.c:338,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/route.c:338,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:338,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    _lws_route_est_outgoing
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          216
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - _lws_log_cx
        - lws_dll2_get_head
        - lws_log_prepend_context
        - lws_sa46_on_net
        - lwsl_context_get_cx
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:208,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:208,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:208,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/route.c:220,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/route.c:227,8'
          Dst:             lws_sa46_on_net
        - Src:             'lib/core-net/route.c:235,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:235,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:235,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/route.c:253,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:253,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:253,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/route.c:266,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:266,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:266,2'
          Dst:             lws_log_prepend_context
    - functionName:    _lws_route_find_source
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 278
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          75
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - lws_dll2_get_head
        - lws_sa46_compare_ads
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:279,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/route.c:286,8'
          Dst:             lws_sa46_compare_ads
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      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:    _lws_routing_entry_dump
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          148
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_context
        - lws_sa46_write_numeric_address
        - lws_snprintf
        - lwsl_context_get_cx
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:47,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/route.c:48,7'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/route.c:54,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/route.c:55,7'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/route.c:61,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/route.c:62,7'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/route.c:67,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:67,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:67,2'
          Dst:             lws_log_prepend_context
    - functionName:    _lws_route_table_ifdown
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 187
      functionLinenumberEnd: 198
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          75
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:188,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/route.c:193,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/route.c:194,4'
          Dst:             lws_realloc
    - functionName:    _lws_route_table_empty
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 183
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          68
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:175,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/route.c:179,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/route.c:180,3'
          Dst:             lws_realloc
    - functionName:    _lws_route_pt_close_route_users
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 379
      functionLinenumberEnd: 406
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          147
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_context
        - lws_log_prepend_wsi
        - lws_set_timeout
        - lwsl_context_get_cx
        - lwsl_wsi_get_cx
        - wsi_from_fd
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:386,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:386,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:386,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/route.c:389,9'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/route.c:400,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/route.c:400,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:400,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/route.c:401,4'
          Dst:             lws_set_timeout
    - functionName:    _lws_route_remove
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          207
      EdgeCount:       47
      CyclomaticComplexity: 14
      functionsReached:
        - _lws_log_cx
        - _lws_route_pt_close_route_users
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_log_prepend_context
        - lws_realloc
        - lws_sa46_compare_ads
        - lwsl_context_get_cx
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:144,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/route.c:148,37'
          Dst:             lws_sa46_compare_ads
        - Src:             'lib/core-net/route.c:149,37'
          Dst:             lws_sa46_compare_ads
        - Src:             'lib/core-net/route.c:151,9'
          Dst:             lws_sa46_compare_ads
        - Src:             'lib/core-net/route.c:157,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:157,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:157,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/route.c:158,4'
          Dst:             _lws_route_pt_close_route_users
        - Src:             'lib/core-net/route.c:159,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/route.c:160,4'
          Dst:             lws_realloc
    - functionName:    _lws_route_get_uidx
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         25
      ICount:          146
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:118,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/route.c:128,6'
          Dst:             __assert_fail
    - functionName:    lws_cookie_parse_nsc
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 301
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          261
      EdgeCount:       46
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/roles/http/cookie.c:251,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/cookie.c:243,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:287,5'
          Dst:             _lws_log
    - functionName:    lws_cookie_parse_date
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         90
      ICount:          492
      EdgeCount:       119
      CyclomaticComplexity: 31
      functionsReached:
        - __ctype_b_loc
        - atoi
        - mktime
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/roles/http/cookie.c:96,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/cookie.c:92,7'
          Dst:             __ctype_b_loc
        - Src:             'lib/roles/http/cookie.c:99,20'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:102,19'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:105,19'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:117,20'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:124,20'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:145,20'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:163,7'
          Dst:             mktime
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_cookie_compile_cache_name
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 213
      functionLinenumberEnd: 231
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          140
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_cookie_domain_len
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          88
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - strchr
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/cookie.c:71,15'
          Dst:             strchr
        - Src:             'lib/roles/http/cookie.c:75,15'
          Dst:             strchr
        - Src:             'lib/roles/http/cookie.c:80,9'
          Dst:             strlen
    - functionName:    lws_cookie_attach_cookies
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 462
      functionLinenumberEnd: 599
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         82
      ICount:          532
      EdgeCount:       111
      CyclomaticComplexity: 31
      functionsReached:
        - _lws_log
        - lws_cache_item_get
        - lws_cache_lookup
        - lws_cache_results_walk
        - lws_cookie_domain_len
        - lws_cookie_parse_nsc
        - lws_get_network_wsi
        - lws_realloc
        - memchr
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/cookie.c:475,36'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/http/cookie.c:482,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:494,13'
          Dst:             strlen
        - Src:             'lib/roles/http/cookie.c:497,20'
          Dst:             memchr
        - Src:             'lib/roles/http/cookie.c:508,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:519,16'
          Dst:             lws_cookie_domain_len
        - Src:             'lib/roles/http/cookie.c:520,23'
          Dst:             memchr
        - Src:             'lib/roles/http/cookie.c:526,16'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/cookie.c:544,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:546,8'
          Dst:             lws_cache_lookup
        - Src:             'lib/roles/http/cookie.c:549,12'
          Dst:             lws_cache_results_walk
        - Src:             'lib/roles/http/cookie.c:550,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:553,9'
          Dst:             lws_cache_item_get
        - Src:             'lib/roles/http/cookie.c:555,6'
          Dst:             lws_cookie_parse_nsc
        - Src:             'lib/roles/http/cookie.c:556,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:562,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:590,3'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/cookie.c:596,2'
          Dst:             _lws_log
    - functionName:    memchr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_cookie_send_cookies
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 753
      functionLinenumberEnd: 802
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          138
      EdgeCount:       33
      CyclomaticComplexity: 11
      functionsReached:
        - _lws_log
        - lws_add_http_header_by_token
        - lws_cookie_attach_cookies
        - lws_wsi_is_h2
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/cookie.c:760,9'
          Dst:             lws_cookie_attach_cookies
        - Src:             'lib/roles/http/cookie.c:765,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:769,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:775,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/cookie.c:785,6'
          Dst:             lws_wsi_is_h2
        - Src:             'lib/roles/http/cookie.c:791,6'
          Dst:             lws_cookie_attach_cookies
        - Src:             'lib/roles/http/cookie.c:792,3'
          Dst:             _lws_log
    - functionName:    lws_cookie_write_nsc
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 305
      functionLinenumberEnd: 458
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         70
      ICount:          561
      EdgeCount:       95
      CyclomaticComplexity: 27
      functionsReached:
        - _lws_log
        - lws_cache_item_remove
        - lws_cache_write_through
        - lws_cookie_compile_cache_name
        - lws_cookie_domain_len
        - lws_cookie_parse_date
        - lws_get_network_wsi
        - lws_hdr_simple_ptr
        - lws_now_usecs
        - lws_realloc
        - lws_snprintf
        - memchr
        - strlen
        - time
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/cookie.c:315,17'
          Dst:             time
        - Src:             'lib/roles/http/cookie.c:326,36'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/http/cookie.c:331,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/cookie.c:333,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/cookie.c:334,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/cookie.c:340,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:351,21'
          Dst:             lws_cookie_domain_len
        - Src:             'lib/roles/http/cookie.c:356,19'
          Dst:             strlen
        - Src:             'lib/roles/http/cookie.c:357,16'
          Dst:             memchr
        - Src:             'lib/roles/http/cookie.c:363,15'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/cookie.c:367,6'
          Dst:             lws_cookie_compile_cache_name
        - Src:             'lib/roles/http/cookie.c:373,6'
          Dst:             lws_cookie_parse_date
        - Src:             'lib/roles/http/cookie.c:374,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:380,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:384,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:393,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:394,9'
          Dst:             lws_cache_item_remove
        - Src:             'lib/roles/http/cookie.c:400,26'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/cookie.c:402,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:407,2'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/cookie.c:416,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:417,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:424,15'
          Dst:             lws_now_usecs
        - Src:             'lib/roles/http/cookie.c:431,6'
          Dst:             strlen
        - Src:             'lib/roles/http/cookie.c:429,6'
          Dst:             lws_cache_write_through
        - Src:             'lib/roles/http/cookie.c:454,2'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/cookie.c:455,2'
          Dst:             lws_realloc
    - functionName:    is_iprefix
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 209
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          151
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_cookie_rm_sws
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          127
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/cookie.c:178,3'
          Dst:             _lws_log
    - functionName:    lws_parse_set_cookie
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 615
      functionLinenumberEnd: 749
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         77
      ICount:          607
      EdgeCount:       105
      CyclomaticComplexity: 30
      functionsReached:
        - _lws_log
        - is_iprefix
        - lws_cookie_rm_sws
        - lws_cookie_write_nsc
        - memchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/cookie.c:649,21'
          Dst:             memchr
        - Src:             'lib/roles/http/cookie.c:673,17'
          Dst:             memchr
        - Src:             'lib/roles/http/cookie.c:680,4'
          Dst:             lws_cookie_rm_sws
        - Src:             'lib/roles/http/cookie.c:685,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:692,4'
          Dst:             lws_cookie_rm_sws
        - Src:             'lib/roles/http/cookie.c:697,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:714,10'
          Dst:             is_iprefix
        - Src:             'lib/roles/http/cookie.c:728,5'
          Dst:             lws_cookie_rm_sws
        - Src:             'lib/roles/http/cookie.c:736,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:744,7'
          Dst:             lws_cookie_write_nsc
        - Src:             'lib/roles/http/cookie.c:745,4'
          Dst:             _lws_log
    - functionName:    lws_tls_session_tag_from_wsi
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-sessions.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          94
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - lws_tls_session_tag_discrete
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-sessions.c:62,2'
          Dst:             lws_tls_session_tag_discrete
    - functionName:    lws_tls_session_tag_discrete
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-sessions.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_filename_purify_inplace
        - lws_snprintf
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-sessions.c:37,2'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls-sessions.c:38,2'
          Dst:             lws_filename_purify_inplace
...
