---
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:    36
      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:    186
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsl_hexdump
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 620
      functionLinenumberEnd: 624
      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:622,2'
          Dst:             lwsl_hexdump_level
    - functionName:    lwsl_hexdump_level
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 614
      functionLinenumberEnd: 616
      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:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:615,2'
          Dst:             lwsl_hexdump_level_cx
    - functionName:    lwsl_hexdump_level_cx
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 560
      functionLinenumberEnd: 610
      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:564,7'
          Dst:             lwsl_visible_cx
        - Src:             'lib/core/logs.c:568,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/logs.c:574,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/logs.c:579,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/logs.c:585,8'
          Dst:             lws_snprintf
        - Src:             'lib/core/logs.c:588,9'
          Dst:             lws_snprintf
        - Src:             'lib/core/logs.c:590,9'
          Dst:             lws_snprintf
        - Src:             'lib/core/logs.c:592,8'
          Dst:             lws_snprintf
        - Src:             'lib/core/logs.c:605,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/logs.c:609,2'
          Dst:             _lws_log_cx
    - functionName:    lwsl_visible_cx
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 517
      functionLinenumberEnd: 518
      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: 490
      functionLinenumberEnd: 499
      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:    478
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:497,2'
          Dst:             __lws_logv
    - functionName:    __lws_logv
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 373
      functionLinenumberEnd: 472
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          298
      EdgeCount:       51
      CyclomaticComplexity: 14
      functionsReached:
        - lws_snprintf
        - lws_strncpy
        - lwsl_timestamp
        - strlen
        - vsnprintf
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:390,3'
          Dst:             lws_strncpy
        - Src:             'lib/core/logs.c:410,3'
          Dst:             lwsl_timestamp
        - Src:             'lib/core/logs.c:411,8'
          Dst:             strlen
        - Src:             'lib/core/logs.c:440,8'
          Dst:             lws_snprintf
        - Src:             'lib/core/logs.c:446,6'
          Dst:             vsnprintf
    - 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:    134
      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:    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: 310
      functionLinenumberEnd: 312
      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:311,2'
          Dst:             _lwsl_emit_stderr
    - functionName:    _lwsl_emit_stderr
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 289
      functionLinenumberEnd: 306
      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:293,16'
          Dst:             isatty
        - Src:             'lib/core/logs.c:303,3'
          Dst:             fprintf
        - Src:             'lib/core/logs.c:305,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: 512
      functionLinenumberEnd: 513
      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: 504
      functionLinenumberEnd: 509
      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
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 480
      functionLinenumberEnd: 486
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_logv
      functionUses:    1026
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:484,2'
          Dst:             __lws_logv
    - functionName:    _lws_logv
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 475
      functionLinenumberEnd: 477
      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:476,2'
          Dst:             __lws_logv
    - functionName:    lws_log_use_cx_file
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 343
      functionLinenumberEnd: 363
      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:347,8'
          Dst:             open
        - Src:             'lib/core/logs.c:351,31'
          Dst:             __errno_location
        - Src:             'lib/core/logs.c:350,4'
          Dst:             fprintf
        - Src:             'lib/core/logs.c:360,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:    61
      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:    32
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_log_emit_cx_file
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 329
      functionLinenumberEnd: 335
      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:333,7'
          Dst:             write
        - Src:             'lib/core/logs.c:334,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: 316
      functionLinenumberEnd: 318
      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:317,2'
          Dst:             _lwsl_emit_stderr
    - 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: 523
      functionLinenumberEnd: 555
      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:545,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,14'
          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:    14
      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:    10
      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:    34
      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:         6
      ICount:          65
      EdgeCount:       7
      CyclomaticComplexity: 3
      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: 235
      functionLinenumberEnd: 235
      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:         14
      ICount:          88
      EdgeCount:       18
      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:    43
      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:         12
      ICount:          68
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - lws_dll2_add_before
        - lws_dll2_add_tail
        - lws_dll2_get_head
      functionUses:    2
      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:    27
      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:         12
      ICount:          71
      EdgeCount:       14
      CyclomaticComplexity: 4
      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:    76
      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:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    14
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_system_context_from_system_mgr
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2455
      functionLinenumberEnd: 2457
      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: 2448
      functionLinenumberEnd: 2449
      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: 235
      functionLinenumberEnd: 235
      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: 1835
      functionLinenumberEnd: 1902
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         29
      ICount:          199
      EdgeCount:       38
      CyclomaticComplexity: 11
      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:1850,3'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:1857,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/context.c:1861,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core/context.c:1861,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1861,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core/context.c:1862,3'
          Dst:             __lws_free_wsi
        - Src:             'lib/core/context.c:1867,3'
          Dst:             lws_destroy_event_pipe
        - Src:             'lib/core/context.c:1881,3'
          Dst:             lws_plat_pipe_close
        - Src:             'lib/core/context.c:1886,3'
          Dst:             lws_ss_destroy_dll
        - Src:             'lib/core/context.c:1894,4'
          Dst:             _lws_destroy_ah
    - functionName:    lws_context_is_deprecated
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1804
      functionLinenumberEnd: 1805
      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: 1796
      functionLinenumberEnd: 1797
      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: 1770
      functionLinenumberEnd: 1792
      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:1775,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1775,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1775,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1782,2'
          Dst:             lws_smd_msg_printf
        - Src:             'lib/core/context.c:1789,3'
          Dst:             lws_state_transition_steps
    - functionName:    lwsl_context_get_cx
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2476
      functionLinenumberEnd: 2481
      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: 2466
      functionLinenumberEnd: 2472
      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:2470,9'
          Dst:             lws_snprintf
    - functionName:    lws_system_deferred_cb
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1750
      functionLinenumberEnd: 1755
      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:1754,2'
          Dst:             lws_system_cpd_start
    - functionName:    lws_system_cpd_start
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1729
      functionLinenumberEnd: 1746
      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:1734,6'
          Dst:             lws_system_get_ops
        - Src:             'lib/core/context.c:1735,6'
          Dst:             lws_system_get_ops
        - Src:             'lib/core/context.c:1736,10'
          Dst:             lws_system_get_ops
        - Src:             'lib/core/context.c:1742,9'
          Dst:             lws_ss_sys_cpd
    - functionName:    lws_system_cpd_start_defer
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1759
      functionLinenumberEnd: 1762
      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:1760,2'
          Dst:             lws_sul_schedule
        - Src:             'lib/core/context.c:1760,2'
          Dst:             lws_system_deferred_cb
    - functionName:    lws_context_destroy
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1943
      functionLinenumberEnd: 2444
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         145
      ICount:          1062
      EdgeCount:       186
      CyclomaticComplexity: 43
      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:1965,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core/context.c:1963,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1963,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1963,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1971,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1971,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1971,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1989,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core/context.c:1989,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1989,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core/context.c:1991,4'
          Dst:             lws_vhost_destroy1
        - Src:             'lib/core/context.c:1996,3'
          Dst:             lws_plat_context_early_destroy
        - Src:             'lib/core/context.c:2035,23'
          Dst:             wsi_from_fd
        - Src:             'lib/core/context.c:2040,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2040,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2040,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2044,6'
          Dst:             lws_close_free_wsi
        - Src:             'lib/core/context.c:2067,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2067,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2067,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2080,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2080,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2080,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2081,4'
          Dst:             lws_cancel_service
        - Src:             'lib/core/context.c:2113,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2113,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2113,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2124,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2124,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2124,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2129,4'
          Dst:             lws_pt_destroy
        - Src:             'lib/core/context.c:2143,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2143,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2143,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2176,2'
          Dst:             lws_state_transition
        - Src:             'lib/core/context.c:2188,4'
          Dst:             __lws_vhost_destroy2
        - Src:             'lib/core/context.c:2196,4'
          Dst:             __lws_vhost_destroy2
        - Src:             'lib/core/context.c:2200,3'
          Dst:             lws_ssl_context_destroy
        - Src:             'lib/core/context.c:2202,3'
          Dst:             lws_plat_context_late_destroy
        - Src:             'lib/core/context.c:2242,5'
          Dst:             _lws_destroy_ah
        - Src:             'lib/core/context.c:2244,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2244,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2244,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2245,4'
          Dst:             lws_pt_destroy
        - Src:             'lib/core/context.c:2256,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2256,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2256,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2264,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2264,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2264,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2283,3'
          Dst:             lws_state_transition_steps
        - Src:             'lib/core/context.c:2309,4'
          Dst:             __assert_fail
        - Src:             'lib/core/context.c:2313,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2313,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2313,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2329,3'
          Dst:             lws_cache_destroy
        - Src:             'lib/core/context.c:2330,3'
          Dst:             lws_cache_destroy
        - Src:             'lib/core/context.c:2334,3'
          Dst:             _lws_smd_destroy
        - Src:             'lib/core/context.c:2345,3'
          Dst:             lws_fonts_destroy
        - Src:             'lib/core/context.c:2346,3'
          Dst:             lws_dlo_file_destroy
        - Src:             'lib/core/context.c:2350,4'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:2352,3'
          Dst:             lws_context_deinit_ssl_library
        - Src:             'lib/core/context.c:2361,6'
          Dst:             lws_system_get_blob
        - Src:             'lib/core/context.c:2360,4'
          Dst:             lws_system_blob_destroy
        - Src:             'lib/core/context.c:2370,4'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:2374,4'
          Dst:             lwsac_free
        - Src:             'lib/core/context.c:2378,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/context.c:2383,4'
          Dst:             __assert_fail
        - Src:             'lib/core/context.c:2385,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/core/context.c:2386,4'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:2392,3'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:2428,3'
          Dst:             lwsl_refcount_cx
        - Src:             'lib/core/context.c:2430,3'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:2441,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2441,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2441,2'
          Dst:             lws_log_prepend_context
    - functionName:    lws_context_creation_completion_cb
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 256
      functionLinenumberEnd: 263
      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:261,2'
          Dst:             lws_state_transition_steps
    - functionName:    lws_state_notify_protocol_init
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 252
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          216
      EdgeCount:       52
      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:109,3'
          Dst:             lws_system_do_attach
        - Src:             'lib/core/context.c:165,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:165,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:165,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:225,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:225,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:225,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:230,8'
          Dst:             lws_ss_sys_fetch_policy
        - Src:             'lib/core/context.c:249,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:249,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:249,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:251,9'
          Dst:             lws_protocol_init
    - functionName:    lws_system_smd_cb
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 270
      functionLinenumberEnd: 312
      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:278,7'
          Dst:             lws_json_simple_strcmp
        - Src:             'lib/core/context.c:279,3'
          Dst:             lws_system_cpd_start
        - Src:             'lib/core/context.c:285,8'
          Dst:             lws_json_simple_strcmp
        - Src:             'lib/core/context.c:286,4'
          Dst:             lws_system_cpd_start
    - functionName:    lws_create_context
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 394
      functionLinenumberEnd: 1724
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         215
      ICount:          1963
      EdgeCount:       290
      CyclomaticComplexity: 77
      functionsReached:
        - __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_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_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:464,6'
          Dst:             lws_plat_context_early_init
        - Src:             'lib/core/context.c:654,12'
          Dst:             lws_zalloc
        - Src:             'lib/core/context.c:659,3'
          Dst:             _lws_log
        - Src:             'lib/core/context.c:710,2'
          Dst:             lwsl_refcount_cx
        - Src:             'lib/core/context.c:859,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:859,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:859,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:863,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:863,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:863,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:923,17'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:923,17'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:923,17'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:938,6'
          Dst:             lws_plat_drop_app_privileges
        - Src:             'lib/core/context.c:1006,21'
          Dst:             lws_now_usecs
        - Src:             'lib/core/context.c:1030,3'
          Dst:             setrlimit
        - Src:             'lib/core/context.c:1054,12'
          Dst:             sysconf
        - Src:             'lib/core/context.c:1059,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1059,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1059,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1067,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1067,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1067,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1093,2'
          Dst:             time
        - Src:             'lib/core/context.c:1103,10'
          Dst:             lws_snprintf
        - Src:             'lib/core/context.c:1158,2'
          Dst:             pthread_mutex_init
        - Src:             'lib/core/context.c:1159,2'
          Dst:             pthread_mutex_init
        - Src:             'lib/core/context.c:1163,7'
          Dst:             lws_smd_register
        - Src:             'lib/core/context.c:1163,7'
          Dst:             lws_system_smd_cb
        - Src:             'lib/core/context.c:1165,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1165,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1165,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1171,7'
          Dst:             lws_smd_register
        - Src:             'lib/core/context.c:1174,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1174,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1174,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1243,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1243,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1243,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1269,23'
          Dst:             lws_zalloc
        - Src:             'lib/core/context.c:1275,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1275,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1275,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1280,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1280,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1280,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1290,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1290,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1290,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1300,5'
          Dst:             strlen
        - Src:             'lib/core/context.c:1317,6'
          Dst:             lws_plat_init
        - Src:             'lib/core/context.c:1345,6'
          Dst:             __lws_create_event_pipes
        - Src:             'lib/core/context.c:1360,2'
          Dst:             lws_context_init_ssl_library
        - Src:             'lib/core/context.c:1365,2'
          Dst:             strcpy
        - Src:             'lib/core/context.c:1367,2'
          Dst:             lws_server_get_canonical_hostname
        - Src:             'lib/core/context.c:1427,9'
          Dst:             lws_create_vhost
        - Src:             'lib/core/context.c:1429,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1429,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1429,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1437,7'
          Dst:             lws_protocol_init_vhost
        - Src:             'lib/core/context.c:1439,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1439,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1439,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1462,2'
          Dst:             lws_state_reg_notifier
        - Src:             'lib/core/context.c:1470,2'
          Dst:             lws_state_reg_notifier_list
        - Src:             'lib/core/context.c:1480,8'
          Dst:             lws_create_vhost
        - Src:             'lib/core/context.c:1482,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1482,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1482,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1500,18'
          Dst:             lws_cache_create
        - Src:             'lib/core/context.c:1511,17'
          Dst:             lws_cache_create
        - Src:             'lib/core/context.c:1513,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1513,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1513,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1599,7'
          Dst:             lws_ss_policy_parse_begin
        - Src:             'lib/core/context.c:1609,6'
          Dst:             strlen
        - Src:             'lib/core/context.c:1607,7'
          Dst:             lws_ss_policy_parse
        - Src:             'lib/core/context.c:1612,4'
          Dst:             _lws_log
        - Src:             'lib/core/context.c:1613,4'
          Dst:             lws_ss_policy_parse_abandon
        - Src:             'lib/core/context.c:1617,7'
          Dst:             lws_ss_policy_set
        - Src:             'lib/core/context.c:1619,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1619,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1619,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1642,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1642,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1642,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1651,7'
          Dst:             lws_plat_drop_app_privileges
        - Src:             'lib/core/context.c:1665,2'
          Dst:             lws_sul_schedule
        - Src:             'lib/core/context.c:1665,2'
          Dst:             lws_context_creation_completion_cb
        - Src:             'lib/core/context.c:1670,2'
          Dst:             lws_cancel_service
        - Src:             'lib/core/context.c:1683,2'
          Dst:             lws_context_destroy
        - Src:             'lib/core/context.c:1689,2'
          Dst:             lws_context_destroy
        - Src:             'lib/core/context.c:1699,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1699,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1699,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1706,3'
          Dst:             _lws_smd_destroy
        - Src:             'lib/core/context.c:1719,3'
          Dst:             lwsl_refcount_cx
        - Src:             'lib/core/context.c:1720,3'
          Dst:             lws_realloc
    - 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:    8
      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:    11
      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_fx_string
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2173
      functionLinenumberEnd: 2189
      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:2177,7'
          Dst:             lws_snprintf
        - Src:             'lib/core/libwebsockets.c:2181,7'
          Dst:             lws_snprintf
    - functionName:    lws_snprintf
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 867
      functionLinenumberEnd: 882
      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:    125
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:875,6'
          Dst:             vsnprintf
    - functionName:    lws_fx_rounddown
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2167
      functionLinenumberEnd: 2168
      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: 2155
      functionLinenumberEnd: 2163
      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: 2138
      functionLinenumberEnd: 2151
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          71
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_fx_sqrt
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2113
      functionLinenumberEnd: 2131
      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: 2081
      functionLinenumberEnd: 2108
      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: 2027
      functionLinenumberEnd: 2076
      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:2032,2'
          Dst:             __assert_fail
        - Src:             'lib/core/libwebsockets.c:2033,2'
          Dst:             __assert_fail
    - functionName:    lws_fx_sub
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2000
      functionLinenumberEnd: 2022
      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: 1979
      functionLinenumberEnd: 1995
      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:    35
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sigbits
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1954
      functionLinenumberEnd: 1975
      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: 1903
      functionLinenumberEnd: 1950
      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: 1870
      functionLinenumberEnd: 1890
      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:1871,37'
          Dst:             lws_humanize
        - Src:             'lib/core/libwebsockets.c:1876,7'
          Dst:             strlen
        - Src:             'lib/core/libwebsockets.c:1877,8'
          Dst:             strlen
    - functionName:    lws_humanize
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1822
      functionLinenumberEnd: 1866
      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:1832,10'
          Dst:             decim
        - Src:             'lib/core/libwebsockets.c:1833,10'
          Dst:             lws_snprintf
        - Src:             'lib/core/libwebsockets.c:1838,9'
          Dst:             decim
        - Src:             'lib/core/libwebsockets.c:1848,12'
          Dst:             decim
        - Src:             'lib/core/libwebsockets.c:1852,11'
          Dst:             decim
        - Src:             'lib/core/libwebsockets.c:1856,9'
          Dst:             lws_snprintf
        - Src:             'lib/core/libwebsockets.c:1862,2'
          Dst:             __assert_fail
    - functionName:    decim
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1798
      functionLinenumberEnd: 1817
      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: 1620
      functionLinenumberEnd: 1621
      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: 1693
      functionLinenumberEnd: 1766
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          110
      EdgeCount:       20
      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:1711,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:1705,7'
          Dst:             lws_cmdline_option
        - Src:             'lib/core/libwebsockets.c:1709,7'
          Dst:             atoi
        - Src:             'lib/core/libwebsockets.c:1737,4'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:1750,4'
          Dst:             signal
        - Src:             'lib/core/libwebsockets.c:1750,4'
          Dst:             lws_sigterm_catch
        - Src:             'lib/core/libwebsockets.c:1759,2'
          Dst:             lws_set_log_level
    - functionName:    lws_cmdline_option
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1592
      functionLinenumberEnd: 1593
      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:1593,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:    38
      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: 1520
      functionLinenumberEnd: 1570
      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:1526,7'
          Dst:             strlen
        - Src:             'lib/core/libwebsockets.c:1530,14'
          Dst:             strncmp
        - Src:             'lib/core/libwebsockets.c:1543,24'
          Dst:             strlen
    - functionName:    lws_cmdline_passfail
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1672
      functionLinenumberEnd: 1688
      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:1676,11'
          Dst:             lws_cmdline_option
        - Src:             'lib/core/libwebsockets.c:1677,14'
          Dst:             atoi
        - Src:             'lib/core/libwebsockets.c:1680,3'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:1685,2'
          Dst:             _lws_log
    - functionName:    lws_context_default_loop_run_destroy
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1659
      functionLinenumberEnd: 1666
      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:1662,36'
          Dst:             lws_service
        - Src:             'lib/core/libwebsockets.c:1665,9'
          Dst:             lws_context_destroy
    - functionName:    lws_default_loop_exit
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1647
      functionLinenumberEnd: 1654
      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:1651,3'
          Dst:             lws_cancel_service
    - functionName:    _lws_context_info_defaults
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1627
      functionLinenumberEnd: 1643
      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
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1585
      functionLinenumberEnd: 1586
      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:1586,9'
          Dst:             lws_cmdline_options_cx
    - functionName:    lws_cmdline_options_cx
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1574
      functionLinenumberEnd: 1581
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - lws_cmdline_options
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:1575,2'
          Dst:             __assert_fail
        - Src:             'lib/core/libwebsockets.c:1578,10'
          Dst:             lws_cmdline_options
        - Src:             'lib/core/libwebsockets.c:1580,9'
          Dst:             lws_cmdline_options
    - functionName:    lws_strcmp_wildcard
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1345
      functionLinenumberEnd: 1423
      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:1386,5'
          Dst:             _lws_log
    - functionName:    lws_strexp_expand
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1261
      functionLinenumberEnd: 1340
      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:1267,3'
          Branch Sides:    []
      Callsites:       []
    - functionName:    lws_strexp_reset_out
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1252
      functionLinenumberEnd: 1256
      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: 1241
      functionLinenumberEnd: 1248
      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: 1215
      functionLinenumberEnd: 1228
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          58
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tokenize_cstr
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1203
      functionLinenumberEnd: 1211
      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: 907
      functionLinenumberEnd: 1198
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         235
      ICount:          1377
      EdgeCount:       317
      CyclomaticComplexity: 84
      functionsReached:
        - lws_check_byte_utf8
        - strchr
      functionUses:    12
      BranchProfiles:
        - Branch String:   'lib/core/libwebsockets.c:981,4'
          Branch Sides:    []
        - Branch String:   'lib/core/libwebsockets.c:1085,4'
          Branch Sides:    []
        - Branch String:   'lib/core/libwebsockets.c:1119,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:948,10'
          Dst:             lws_check_byte_utf8
        - Src:             'lib/core/libwebsockets.c:1073,10'
          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: 895
      functionLinenumberEnd: 902
      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: 859
      functionLinenumberEnd: 862
      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: 848
      functionLinenumberEnd: 854
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          42
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_plat_drop_app_privileges
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:850,7'
          Dst:             lws_plat_drop_app_privileges
    - functionName:    lws_strncpy
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 886
      functionLinenumberEnd: 890
      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:    33
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:887,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: 771
      functionLinenumberEnd: 844
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         57
      ICount:          344
      EdgeCount:       77
      CyclomaticComplexity: 22
      functionsReached:
        - lws_strncpy
        - strlen
        - strncmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:777,7'
          Dst:             strncmp
        - Src:             'lib/core/libwebsockets.c:778,7'
          Dst:             strncmp
        - Src:             'lib/core/libwebsockets.c:779,7'
          Dst:             strncmp
        - Src:             'lib/core/libwebsockets.c:781,3'
          Dst:             lws_strncpy
        - Src:             'lib/core/libwebsockets.c:838,16'
          Dst:             strlen
        - Src:             'lib/core/libwebsockets.c:841,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:    1
      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:    25
      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:    17
      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:    5
      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:         29
      ICount:          272
      EdgeCount:       39
      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:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      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:    1
      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:         9
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:243,8'
          Dst:             strcmp
    - functionName:    strcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    88
      BranchProfiles:  []
      Callsites:       []
    - 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:         30
      ICount:          218
      EdgeCount:       37
      CyclomaticComplexity: 9
      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:         18
      ICount:          135
      EdgeCount:       23
      CyclomaticComplexity: 7
      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:         24
      ICount:          172
      EdgeCount:       31
      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:         39
      ICount:          318
      EdgeCount:       51
      CyclomaticComplexity: 14
      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: 958
      functionLinenumberEnd: 961
      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:959,2'
          Dst:             lwsl_hexdump_level
    - functionName:    nsc_get_cb
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 778
      functionLinenumberEnd: 858
      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:789,6'
          Dst:             nsc_line_to_tag
        - Src:             'lib/misc/cache-ttl/file.c:790,3'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:794,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:796,6'
          Dst:             strcmp
        - Src:             'lib/misc/cache-ttl/file.c:797,3'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:803,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:824,6'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/misc/cache-ttl/file.c:835,10'
          Dst:             lws_buflist_total_len
        - Src:             'lib/misc/cache-ttl/file.c:844,16'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/misc/cache-ttl/file.c:849,3'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/misc/cache-ttl/file.c:855,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: 450
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          236
      EdgeCount:       47
      CyclomaticComplexity: 11
      functionsReached:
        - _lws_log
        - atoll
      functionUses:    4
      BranchProfiles:
        - Branch String:   'lib/misc/cache-ttl/file.c:414,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:416,46'
          Dst:             atoll
        - Src:             'lib/misc/cache-ttl/file.c:447,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: 463
      functionLinenumberEnd: 514
      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:484,6'
          Dst:             nsc_line_to_tag
        - Src:             'lib/misc/cache-ttl/file.c:487,6'
          Dst:             lws_cache_nscookiejar_tag_match
        - Src:             'lib/misc/cache-ttl/file.c:491,12'
          Dst:             strlen
        - Src:             'lib/misc/cache-ttl/file.c:499,4'
          Dst:             lws_realloc
        - Src:             'lib/misc/cache-ttl/file.c:511,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: 576
      functionLinenumberEnd: 630
      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:585,7'
          Dst:             nsc_line_to_tag
        - Src:             'lib/misc/cache-ttl/file.c:600,4'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:603,8'
          Dst:             lws_cache_nscookiejar_tag_match
        - Src:             'lib/misc/cache-ttl/file.c:606,4'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:617,6'
          Dst:             write
        - Src:             'lib/misc/cache-ttl/file.c:621,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: 635
      functionLinenumberEnd: 711
      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:640,7'
          Dst:             nsc_backing_open_lock
        - Src:             'lib/misc/cache-ttl/file.c:644,2'
          Dst:             lws_snprintf
        - Src:             'lib/misc/cache-ttl/file.c:646,2'
          Dst:             unlink
        - Src:             'lib/misc/cache-ttl/file.c:651,12'
          Dst:             open
        - Src:             'lib/misc/cache-ttl/file.c:659,6'
          Dst:             write
        - Src:             'lib/misc/cache-ttl/file.c:665,6'
          Dst:             write
        - Src:             'lib/misc/cache-ttl/file.c:668,13'
          Dst:             write
        - Src:             'lib/misc/cache-ttl/file.c:676,13'
          Dst:             lws_now_usecs
        - Src:             'lib/misc/cache-ttl/file.c:682,6'
          Dst:             nscookiejar_iterate
        - Src:             'lib/misc/cache-ttl/file.c:682,6'
          Dst:             nsc_regen_cb
        - Src:             'lib/misc/cache-ttl/file.c:685,2'
          Dst:             close
        - Src:             'lib/misc/cache-ttl/file.c:688,6'
          Dst:             unlink
        - Src:             'lib/misc/cache-ttl/file.c:689,3'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:691,6'
          Dst:             rename
        - Src:             'lib/misc/cache-ttl/file.c:692,3'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:696,3'
          Dst:             lws_cache_schedule
        - Src:             'lib/misc/cache-ttl/file.c:696,3'
          Dst:             expiry_cb
        - Src:             'lib/misc/cache-ttl/file.c:704,3'
          Dst:             close
        - Src:             'lib/misc/cache-ttl/file.c:706,2'
          Dst:             unlink
        - Src:             'lib/misc/cache-ttl/file.c:708,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: 715
      functionLinenumberEnd: 729
      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:723,6'
          Dst:             nsc_regen
        - Src:             'lib/misc/cache-ttl/file.c:727,3'
          Dst:             lws_cache_schedule
        - Src:             'lib/misc/cache-ttl/file.c:727,3'
          Dst:             expiry_cb
    - functionName:    lws_cache_nscookiejar_debug_dump
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 966
      functionLinenumberEnd: 978
      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:968,11'
          Dst:             nsc_backing_open_lock
        - Src:             'lib/misc/cache-ttl/file.c:973,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:975,2'
          Dst:             nscookiejar_iterate
        - Src:             'lib/misc/cache-ttl/file.c:975,2'
          Dst:             nsc_dump_cb
        - Src:             'lib/misc/cache-ttl/file.c:977,2'
          Dst:             nsc_backing_close_unlock
    - functionName:    lws_cache_nscookiejar_get
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 864
      functionLinenumberEnd: 889
      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:869,7'
          Dst:             nsc_backing_open_lock
        - Src:             'lib/misc/cache-ttl/file.c:884,8'
          Dst:             nscookiejar_iterate
        - Src:             'lib/misc/cache-ttl/file.c:884,8'
          Dst:             nsc_get_cb
        - Src:             'lib/misc/cache-ttl/file.c:886,2'
          Dst:             nsc_backing_close_unlock
    - functionName:    lws_cache_nscookiejar_invalidate
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 894
      functionLinenumberEnd: 897
      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:897,9'
          Dst:             nsc_regen
    - functionName:    lws_cache_nscookiejar_lookup
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 520
      functionLinenumberEnd: 543
      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:525,7'
          Dst:             nsc_backing_open_lock
        - Src:             'lib/misc/cache-ttl/file.c:531,14'
          Dst:             strlen
        - Src:             'lib/misc/cache-ttl/file.c:534,8'
          Dst:             nscookiejar_iterate
        - Src:             'lib/misc/cache-ttl/file.c:534,8'
          Dst:             nsc_lookup_cb
        - Src:             'lib/misc/cache-ttl/file.c:540,2'
          Dst:             nsc_backing_close_unlock
    - functionName:    lws_cache_nscookiejar_write
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 738
      functionLinenumberEnd: 759
      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:742,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:744,2'
          Dst:             __assert_fail
        - Src:             'lib/misc/cache-ttl/file.c:746,6'
          Dst:             nsc_line_to_tag
        - Src:             'lib/misc/cache-ttl/file.c:752,6'
          Dst:             nsc_regen
        - Src:             'lib/misc/cache-ttl/file.c:753,3'
          Dst:             _lws_log
    - functionName:    lws_cache_nscookiejar_expunge
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 925
      functionLinenumberEnd: 938
      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:932,6'
          Dst:             unlink
        - Src:             'lib/misc/cache-ttl/file.c:934,3'
          Dst:             _lws_log
    - functionName:    lws_cache_nscookiejar_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 942
      functionLinenumberEnd: 951
      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:948,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/misc/cache-ttl/file.c:950,2'
          Dst:             lws_realloc
    - functionName:    lws_cache_nscookiejar_create
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 902
      functionLinenumberEnd: 921
      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:906,6'
          Dst:             lws_zalloc
        - Src:             'lib/misc/cache-ttl/file.c:916,2'
          Dst:             expiry_cb
        - Src:             'lib/misc/cache-ttl/file.c:918,2'
          Dst:             _lws_log
    - functionName:    lws_dlo_filesystem_fops_open
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 864
      functionLinenumberEnd: 889
      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:870,6'
          Dst:             lws_dlo_file_choose
        - Src:             'lib/misc/dlo/dlo.c:873,12'
          Dst:             lws_zalloc
        - Src:             'lib/misc/dlo/dlo.c:886,3'
          Dst:             _lws_log
    - functionName:    lws_dlo_file_choose
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 720
      functionLinenumberEnd: 732
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_dll2_get_head
        - strcmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:721,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:726,8'
          Dst:             strcmp
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 235
      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: 837
      functionLinenumberEnd: 857
      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: 828
      functionLinenumberEnd: 831
      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: 813
      functionLinenumberEnd: 822
      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: 805
      functionLinenumberEnd: 807
      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:806,2'
          Dst:             lws_realloc
    - functionName:    lws_display_render_add_id
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 766
      functionLinenumberEnd: 784
      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:769,7'
          Dst:             lws_display_render_get_id
        - Src:             'lib/misc/dlo/dlo.c:775,7'
          Dst:             lws_zalloc
        - Src:             'lib/misc/dlo/dlo.c:778,3'
          Dst:             lws_strncpy
        - Src:             'lib/misc/dlo/dlo.c:780,3'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_display_render_get_id
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 752
      functionLinenumberEnd: 762
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_dll2_get_head
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:753,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:756,8'
          Dst:             strcmp
    - functionName:    lws_display_id_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 736
      functionLinenumberEnd: 741
      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:739,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:740,2'
          Dst:             lws_realloc
    - functionName:    lws_display_render_free_ids
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 746
      functionLinenumberEnd: 748
      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:747,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/misc/dlo/dlo.c:747,2'
          Dst:             lws_display_id_destroy
    - functionName:    _lws_dlo_file_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 707
      functionLinenumberEnd: 709
      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:708,2'
          Dst:             lws_realloc
    - functionName:    lws_dlo_file_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 714
      functionLinenumberEnd: 716
      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:715,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/misc/dlo/dlo.c:715,2'
          Dst:             _lws_dlo_file_destroy
    - functionName:    lws_dlo_file_unregister_by_name
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 694
      functionLinenumberEnd: 703
      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:697,30'
          Dst:             lws_dlo_file_choose
        - Src:             'lib/misc/dlo/dlo.c:701,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:702,2'
          Dst:             lws_realloc
    - functionName:    lws_dlo_file_unregister
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 684
      functionLinenumberEnd: 690
      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:688,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:689,2'
          Dst:             lws_realloc
    - functionName:    lws_dlo_file_register
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 654
      functionLinenumberEnd: 676
      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:658,6'
          Dst:             lws_dlo_file_choose
        - Src:             'lib/misc/dlo/dlo.c:661,3'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:662,3'
          Dst:             lws_dlo_file_unregister
        - Src:             'lib/misc/dlo/dlo.c:665,6'
          Dst:             lws_realloc
        - Src:             'lib/misc/dlo/dlo.c:670,2'
          Dst:             lws_dll2_clear
        - Src:             'lib/misc/dlo/dlo.c:671,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/misc/dlo/dlo.c:673,2'
          Dst:             _lws_log
    - functionName:    lws_display_list_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 641
      functionLinenumberEnd: 650
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          43
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_display_dlo_destroy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:648,3'
          Dst:             lws_display_dlo_destroy
    - functionName:    lws_display_dlo_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 614
      functionLinenumberEnd: 637
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          98
      EdgeCount:       17
      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:618,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:619,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:620,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:626,3'
          Dst:             lws_display_dlo_destroy
        - Src:             'lib/misc/dlo/dlo.c:629,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/misc/dlo/dlo.c:629,2'
          Dst:             dlo_clean_table_cols
        - Src:             'lib/misc/dlo/dlo.c:630,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/misc/dlo/dlo.c:630,2'
          Dst:             dlo_clean_table_rows
        - Src:             'lib/misc/dlo/dlo.c:635,2'
          Dst:             lws_realloc
    - functionName:    dlo_clean_table_cols
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 603
      functionLinenumberEnd: 609
      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:606,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:607,2'
          Dst:             lws_realloc
    - functionName:    dlo_clean_table_rows
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 592
      functionLinenumberEnd: 598
      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:595,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:596,2'
          Dst:             lws_realloc
    - functionName:    lws_display_list_render_line
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 483
      functionLinenumberEnd: 588
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         41
      ICount:          368
      EdgeCount:       56
      CyclomaticComplexity: 17
      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:493,7'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:517,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:518,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:523,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:525,18'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo.c:530,4'
          Dst:             lws_display_dlo_destroy
        - Src:             'lib/misc/dlo/dlo.c:564,6'
          Dst:             _lws_log
    - functionName:    lws_display_render_dump_ids
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 788
      functionLinenumberEnd: 799
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          75
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:789,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:793,4'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:795,4'
          Dst:             _lws_log
    - functionName:    lws_display_get_ids_boxes
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 398
      functionLinenumberEnd: 479
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         33
      ICount:          336
      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:403,6'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:411,2'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:423,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:424,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:428,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:436,5'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:462,4'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:465,5'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:476,2'
          Dst:             lws_display_render_dump_ids
    - functionName:    lws_display_dl_dump
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 301
      functionLinenumberEnd: 388
      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:304,18'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:311,3'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:316,2'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:328,5'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:335,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:336,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:340,3'
          Dst:             lws_snprintf
        - Src:             'lib/misc/dlo/dlo.c:343,4'
          Dst:             lws_snprintf
        - Src:             'lib/misc/dlo/dlo.c:349,4'
          Dst:             lws_snprintf
        - Src:             'lib/misc/dlo/dlo.c:353,4'
          Dst:             lws_snprintf
        - Src:             'lib/misc/dlo/dlo.c:356,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:357,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:358,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:359,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:360,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:361,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:362,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:363,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:365,3'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:379,5'
          Dst:             _lws_log
    - functionName:    lws_display_dlo_adjust_dims
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 249
      functionLinenumberEnd: 296
      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:257,2'
          Dst:             lws_fx_sub
        - Src:             'lib/misc/dlo/dlo.c:258,2'
          Dst:             lws_fx_sub
        - Src:             'lib/misc/dlo/dlo.c:281,5'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:294,3'
          Dst:             lws_fx_add
    - functionName:    lws_dlo_contents
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 241
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         49
      ICount:          446
      EdgeCount:       66
      CyclomaticComplexity: 19
      functionsReached:
        - _lws_log
        - lws_dll2_get_head
        - lws_fx_add
        - lws_fx_comp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:138,6'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:156,5'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:160,8'
          Dst:             lws_fx_comp
        - Src:             'lib/misc/dlo/dlo.c:163,8'
          Dst:             lws_fx_comp
        - Src:             'lib/misc/dlo/dlo.c:173,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:175,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:178,7'
          Dst:             lws_fx_comp
        - Src:             'lib/misc/dlo/dlo.c:181,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:183,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:186,7'
          Dst:             lws_fx_comp
        - Src:             'lib/misc/dlo/dlo.c:199,5'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:218,7'
          Dst:             lws_fx_comp
        - Src:             'lib/misc/dlo/dlo.c:229,7'
          Dst:             lws_fx_comp
        - Src:             'lib/misc/dlo/dlo.c:231,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: 163
      functionLinenumberEnd: 187
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          84
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - lws_display_dlo_add
        - lws_realloc
        - lws_upng_free
        - lws_upng_new
        - lws_zalloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-png.c:164,27'
          Dst:             lws_zalloc
        - Src:             'lib/misc/dlo/dlo-png.c:169,17'
          Dst:             lws_upng_new
        - Src:             'lib/misc/dlo/dlo-png.c:177,2'
          Dst:             lws_display_dlo_add
        - Src:             'lib/misc/dlo/dlo-png.c:183,3'
          Dst:             lws_upng_free
        - Src:             'lib/misc/dlo/dlo-png.c:184,2'
          Dst:             lws_realloc
    - functionName:    lws_display_render_png
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-png.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         49
      ICount:          435
      EdgeCount:       67
      CyclomaticComplexity: 20
      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:55,7'
          Dst:             lws_upng_get_height
        - Src:             'lib/misc/dlo/dlo-png.c:56,3'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo-png.c:60,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-png.c:61,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-png.c:62,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-png.c:63,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-png.c:66,6'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-png.c:68,17'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-png.c:71,17'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-png.c:72,9'
          Dst:             lws_upng_get_height
        - Src:             'lib/misc/dlo/dlo-png.c:85,7'
          Dst:             lws_flow_feed
        - Src:             'lib/misc/dlo/dlo-png.c:90,7'
          Dst:             lws_upng_emit_next_line
        - Src:             'lib/misc/dlo/dlo-png.c:99,7'
          Dst:             lws_flow_req
        - Src:             'lib/misc/dlo/dlo-png.c:106,5'
          Dst:             lws_upng_get_pixelsize
        - Src:             'lib/misc/dlo/dlo-png.c:108,39'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-png.c:109,31'
          Dst:             lws_upng_get_width
        - Src:             'lib/misc/dlo/dlo-png.c:111,7'
          Dst:             lws_upng_get_pixelsize
        - Src:             'lib/misc/dlo/dlo-png.c:116,3'
          Dst:             lws_surface_set_px
        - Src:             'lib/misc/dlo/dlo-png.c:119,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: 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_ss_destroy
        - lws_upng_free
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-png.c:36,2'
          Dst:             lws_ss_destroy
        - Src:             'lib/misc/dlo/dlo-png.c:38,2'
          Dst:             lws_buflist_destroy_all_segments
        - Src:             'lib/misc/dlo/dlo-png.c:41,3'
          Dst:             lws_upng_free
    - functionName:    lws_display_dlo_png_metadata_scan
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-png.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 158
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          123
      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:138,10'
          Dst:             lws_upng_get_height
        - Src:             'lib/misc/dlo/dlo-png.c:141,7'
          Dst:             lws_upng_emit_next_line
        - Src:             'lib/misc/dlo/dlo-png.c:143,4'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo-png.c:149,7'
          Dst:             lws_upng_get_height
        - Src:             'lib/misc/dlo/dlo-png.c:150,4'
          Dst:             lws_upng_get_width
        - Src:             'lib/misc/dlo/dlo-png.c:150,4'
          Dst:             lws_upng_get_height
        - Src:             'lib/misc/dlo/dlo-png.c:150,4'
          Dst:             _lws_log
    - functionName:    lws_display_dlo_jpeg_new
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          85
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
        - lws_display_dlo_add
        - lws_jpeg_free
        - lws_jpeg_new
        - lws_realloc
        - lws_zalloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-jpeg.c:170,29'
          Dst:             lws_zalloc
        - Src:             'lib/misc/dlo/dlo-jpeg.c:175,16'
          Dst:             lws_jpeg_new
        - Src:             'lib/misc/dlo/dlo-jpeg.c:183,2'
          Dst:             lws_display_dlo_add
        - Src:             'lib/misc/dlo/dlo-jpeg.c:188,2'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo-jpeg.c:190,3'
          Dst:             lws_jpeg_free
        - Src:             'lib/misc/dlo/dlo-jpeg.c:192,2'
          Dst:             lws_realloc
    - functionName:    lws_display_render_jpeg
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         49
      ICount:          423
      EdgeCount:       67
      CyclomaticComplexity: 20
      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:61,3'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo-jpeg.c:66,6'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-jpeg.c:68,17'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-jpeg.c:71,17'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-jpeg.c:72,9'
          Dst:             lws_jpeg_get_height
        - Src:             'lib/misc/dlo/dlo-jpeg.c:85,7'
          Dst:             lws_flow_feed
        - Src:             'lib/misc/dlo/dlo-jpeg.c:90,7'
          Dst:             lws_jpeg_emit_next_line
        - Src:             'lib/misc/dlo/dlo-jpeg.c:99,7'
          Dst:             lws_flow_req
        - Src:             'lib/misc/dlo/dlo-jpeg.c:112,5'
          Dst:             lws_jpeg_get_pixelsize
        - Src:             'lib/misc/dlo/dlo-jpeg.c:114,39'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-jpeg.c:115,31'
          Dst:             lws_jpeg_get_width
        - Src:             'lib/misc/dlo/dlo-jpeg.c:117,7'
          Dst:             lws_jpeg_get_pixelsize
        - Src:             'lib/misc/dlo/dlo-jpeg.c:122,3'
          Dst:             lws_surface_set_px
        - Src:             'lib/misc/dlo/dlo-jpeg.c:124,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: 132
      functionLinenumberEnd: 164
      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:143,10'
          Dst:             lws_jpeg_get_height
        - Src:             'lib/misc/dlo/dlo-jpeg.c:146,7'
          Dst:             lws_jpeg_emit_next_line
        - Src:             'lib/misc/dlo/dlo-jpeg.c:148,4'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo-jpeg.c:154,7'
          Dst:             lws_jpeg_get_height
        - Src:             'lib/misc/dlo/dlo-jpeg.c:155,4'
          Dst:             lws_jpeg_get_width
        - Src:             'lib/misc/dlo/dlo-jpeg.c:155,4'
          Dst:             lws_jpeg_get_height
        - Src:             'lib/misc/dlo/dlo-jpeg.c:155,4'
          Dst:             _lws_log
    - 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:    4
      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: 148
      functionLinenumberEnd: 174
      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:159,3'
          Dst:             lws_state_transition_steps
        - Src:             'lib/system/stdin.c:162,7'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/system/stdin.c:164,3'
          Dst:             _lws_log
        - Src:             'lib/system/stdin.c:168,7'
          Dst:             lws_adopt_descriptor_vhost
        - Src:             'lib/system/stdin.c:169,3'
          Dst:             _lws_log
    - functionName:    callback_system_stdin
      functionSourceFile: '/src/libwebsockets/lib/system/stdin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         63
      ICount:          414
      EdgeCount:       83
      CyclomaticComplexity: 22
      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:132,12'
          Dst:             lws_buflist_append_segment
    - 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: 235
      functionLinenumberEnd: 235
      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:         15
      ICount:          130
      EdgeCount:       20
      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: 797
      functionLinenumberEnd: 831
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          90
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_smd_peer_destroy
        - lws_dll2_remove
        - lws_realloc
        - pthread_mutex_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:810,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/system/smd/smd.c:811,3'
          Dst:             lws_realloc
        - Src:             'lib/system/smd/smd.c:824,3'
          Dst:             _lws_smd_peer_destroy
        - Src:             'lib/system/smd/smd.c:828,2'
          Dst:             pthread_mutex_destroy
        - Src:             'lib/system/smd/smd.c:829,2'
          Dst:             pthread_mutex_destroy
    - functionName:    _lws_smd_peer_destroy
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 474
      functionLinenumberEnd: 504
      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:478,6'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:481,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/system/smd/smd.c:493,7'
          Dst:             _lws_smd_msg_peer_interested_in_msg
        - Src:             'lib/system/smd/smd.c:495,5'
          Dst:             _lws_smd_msg_destroy
        - Src:             'lib/system/smd/smd.c:501,2'
          Dst:             lws_realloc
        - Src:             'lib/system/smd/smd.c:503,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:         8
      ICount:          72
      EdgeCount:       9
      CyclomaticComplexity: 3
      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: 508
      functionLinenumberEnd: 524
      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:519,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: 711
      functionLinenumberEnd: 793
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         40
      ICount:          256
      EdgeCount:       53
      CyclomaticComplexity: 15
      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:727,32'
          Dst:             pthread_self
        - Src:             'lib/system/smd/smd.c:727,32'
          Dst:             pthread_equal
        - Src:             'lib/system/smd/smd.c:728,6'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:730,6'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:737,8'
          Dst:             lws_now_usecs
        - Src:             'lib/system/smd/smd.c:738,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/system/smd/smd.c:738,4'
          Dst:             _lws_log_cx
        - Src:             'lib/system/smd/smd.c:738,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/system/smd/smd.c:755,17'
          Dst:             _lws_smd_msg_next_matching_filter
        - Src:             'lib/system/smd/smd.c:764,4'
          Dst:             _lws_smd_msg_destroy
        - Src:             'lib/system/smd/smd.c:768,2'
          Dst:             pthread_mutex_unlock
        - Src:             'lib/system/smd/smd.c:789,31'
          Dst:             pthread_self
        - Src:             'lib/system/smd/smd.c:789,31'
          Dst:             pthread_equal
        - Src:             'lib/system/smd/smd.c:790,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:    10
      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:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_smd_unregister
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 696
      functionLinenumberEnd: 707
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          101
      EdgeCount:       22
      CyclomaticComplexity: 7
      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:699,28'
          Dst:             pthread_self
        - Src:             'lib/system/smd/smd.c:699,28'
          Dst:             pthread_equal
        - Src:             'lib/system/smd/smd.c:700,6'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:702,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/system/smd/smd.c:702,2'
          Dst:             _lws_log_cx
        - Src:             'lib/system/smd/smd.c:702,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/system/smd/smd.c:703,2'
          Dst:             _lws_smd_peer_destroy
        - Src:             'lib/system/smd/smd.c:705,27'
          Dst:             pthread_self
        - Src:             'lib/system/smd/smd.c:705,27'
          Dst:             pthread_equal
        - Src:             'lib/system/smd/smd.c:706,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:         4
      ICount:          46
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_smd_register
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 632
      functionLinenumberEnd: 692
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          215
      EdgeCount:       38
      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:633,23'
          Dst:             lws_zalloc
        - Src:             'lib/system/smd/smd.c:643,32'
          Dst:             pthread_self
        - Src:             'lib/system/smd/smd.c:643,32'
          Dst:             pthread_equal
        - Src:             'lib/system/smd/smd.c:644,6'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:645,3'
          Dst:             lws_realloc
        - Src:             'lib/system/smd/smd.c:653,6'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:654,3'
          Dst:             lws_realloc
        - Src:             'lib/system/smd/smd.c:659,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/system/smd/smd.c:662,2'
          Dst:             _lws_smd_class_mask_union
        - Src:             'lib/system/smd/smd.c:675,7'
          Dst:             _lws_smd_msg_peer_interested_in_msg
        - Src:             'lib/system/smd/smd.c:682,2'
          Dst:             pthread_mutex_unlock
        - Src:             'lib/system/smd/smd.c:684,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/system/smd/smd.c:684,2'
          Dst:             _lws_log_cx
        - Src:             'lib/system/smd/smd.c:684,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/system/smd/smd.c:688,31'
          Dst:             pthread_self
        - Src:             'lib/system/smd/smd.c:688,31'
          Dst:             pthread_equal
        - Src:             'lib/system/smd/smd.c:689,3'
          Dst:             pthread_mutex_unlock
    - functionName:    _lws_smd_msg_deliver_peer
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 542
      functionLinenumberEnd: 591
      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:550,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/system/smd/smd.c:550,2'
          Dst:             _lws_log_cx
        - Src:             'lib/system/smd/smd.c:550,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/system/smd/smd.c:565,25'
          Dst:             pthread_self
        - Src:             'lib/system/smd/smd.c:572,2'
          Dst:             __assert_fail
        - Src:             'lib/system/smd/smd.c:578,13'
          Dst:             _lws_smd_msg_next_matching_filter
        - Src:             'lib/system/smd/smd.c:581,2'
          Dst:             __assert_fail
        - Src:             'lib/system/smd/smd.c:583,6'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:587,3'
          Dst:             _lws_smd_msg_destroy
        - Src:             'lib/system/smd/smd.c:588,2'
          Dst:             pthread_mutex_unlock
    - functionName:    lws_smd_msg_distribute
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 600
      functionLinenumberEnd: 627
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          99
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_smd_msg_deliver_peer
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:611,7'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:618,27'
          Dst:             _lws_smd_msg_deliver_peer
        - Src:             'lib/system/smd/smd.c:622,3'
          Dst:             pthread_mutex_unlock
    - functionName:    _lws_smd_ss_rx_forward
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 386
      functionLinenumberEnd: 441
      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:397,28'
          Dst:             lws_ser_ru64be
        - Src:             'lib/system/smd/smd.c:412,6'
          Dst:             lws_smd_msg_alloc
        - Src:             'lib/system/smd/smd.c:420,31'
          Dst:             lws_ser_ru64be
        - Src:             'lib/system/smd/smd.c:429,6'
          Dst:             _lws_smd_msg_send
        - Src:             'lib/system/smd/smd.c:431,3'
          Dst:             lws_smd_msg_free
        - Src:             'lib/system/smd/smd.c:436,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: 282
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          293
      EdgeCount:       62
      CyclomaticComplexity: 17
      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:223,32'
          Dst:             pthread_self
        - Src:             'lib/system/smd/smd.c:223,32'
          Dst:             pthread_equal
        - Src:             'lib/system/smd/smd.c:224,6'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:227,6'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:230,28'
          Dst:             _lws_smd_msg_assess_peers_interested
        - Src:             'lib/system/smd/smd.c:234,3'
          Dst:             pthread_mutex_unlock
        - Src:             'lib/system/smd/smd.c:236,3'
          Dst:             lws_realloc
        - Src:             'lib/system/smd/smd.c:237,32'
          Dst:             pthread_self
        - Src:             'lib/system/smd/smd.c:237,32'
          Dst:             pthread_equal
        - Src:             'lib/system/smd/smd.c:238,4'
          Dst:             pthread_mutex_unlock
        - Src:             'lib/system/smd/smd.c:247,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/system/smd/smd.c:258,33'
          Dst:             _lws_smd_msg_peer_interested_in_msg
        - Src:             'lib/system/smd/smd.c:261,4'
          Dst:             __assert_fail
        - Src:             'lib/system/smd/smd.c:272,2'
          Dst:             pthread_mutex_unlock
        - Src:             'lib/system/smd/smd.c:275,31'
          Dst:             pthread_self
        - Src:             'lib/system/smd/smd.c:275,31'
          Dst:             pthread_equal
        - Src:             'lib/system/smd/smd.c:276,3'
          Dst:             pthread_mutex_unlock
        - Src:             'lib/system/smd/smd.c:279,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:         11
      ICount:          72
      EdgeCount:       14
      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: 445
      functionLinenumberEnd: 450
      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:448,28'
          Dst:             lws_ss_get_context
        - Src:             'lib/system/smd/smd.c:450,37'
          Dst:             lws_ss_tag
        - Src:             'lib/system/smd/smd.c:450,9'
          Dst:             _lws_smd_ss_rx_forward
    - functionName:    lws_smd_ss_msg_printf
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 347
      functionLinenumberEnd: 373
      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:355,2'
          Dst:             lws_ser_wu64be
        - Src:             'lib/system/smd/smd.c:356,2'
          Dst:             lws_ser_wu64be
        - Src:             'lib/system/smd/smd.c:359,6'
          Dst:             vsnprintf
        - Src:             'lib/system/smd/smd.c:369,2'
          Dst:             _lws_log
    - functionName:    lws_smd_msg_printf
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 301
      functionLinenumberEnd: 341
      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:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:315,6'
          Dst:             vsnprintf
        - Src:             'lib/system/smd/smd.c:321,6'
          Dst:             lws_smd_msg_alloc
        - Src:             'lib/system/smd/smd.c:328,2'
          Dst:             vsnprintf
        - Src:             'lib/system/smd/smd.c:335,6'
          Dst:             lws_smd_msg_send
        - Src:             'lib/system/smd/smd.c:336,3'
          Dst:             lws_smd_msg_free
    - functionName:    lws_smd_msg_send
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 290
      functionLinenumberEnd: 291
      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:291,9'
          Dst:             _lws_smd_msg_send
    - functionName:    lws_close_free_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1052
      functionLinenumberEnd: 1064
      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:1060,2'
          Dst:             __lws_close_free_wsi
    - functionName:    __lws_close_free_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 360
      functionLinenumberEnd: 900
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         285
      ICount:          1873
      EdgeCount:       386
      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
        - 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:509,2'
          Branch Sides:    []
        - Branch String:   'lib/core-net/close.c:678,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/close.c:373,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:373,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:373,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:377,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/close.c:378,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:378,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:378,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:384,3'
          Dst:             lws_plat_pipe_close
        - Src:             'lib/core-net/close.c:417,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:420,2'
          Dst:             lws_addrinfo_clean
        - Src:             'lib/core-net/close.c:425,3'
          Dst:             lws_http_close_immortal
        - Src:             'lib/core-net/close.c:436,4'
          Dst:             __lws_close_free_wsi
        - Src:             'lib/core-net/close.c:445,3'
          Dst:             lws_remove_child_from_any_parent
        - Src:             'lib/core-net/close.c:446,3'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/close.c:488,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:498,3'
          Dst:             lws_vfs_file_close
        - Src:             'lib/core-net/close.c:520,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/close.c:526,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/close.c:529,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:529,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:529,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:532,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/close.c:538,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:538,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:538,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:539,4'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/close.c:540,4'
          Dst:             __lws_set_timeout
        - Src:             'lib/core-net/close.c:576,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:576,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:576,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:583,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:583,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:583,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:593,3'
          Dst:             lws_vfs_file_close
        - Src:             'lib/core-net/close.c:596,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/close.c:614,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:627,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/close.c:627,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/close.c:653,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:653,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:653,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:657,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/close.c:676,7'
          Dst:             lws_is_ssl
        - Src:             'lib/core-net/close.c:678,12'
          Dst:             __lws_tls_shutdown
        - Src:             'lib/core-net/close.c:685,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:685,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:685,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:686,6'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/close.c:693,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/close.c:693,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/close.c:699,9'
          Dst:             shutdown
        - Src:             'lib/core-net/close.c:703,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:703,4'
          Dst:             __errno_location
        - Src:             'lib/core-net/close.c:703,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:703,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:719,4'
          Dst:             __lws_change_pollfd
        - Src:             'lib/core-net/close.c:720,4'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/close.c:721,4'
          Dst:             __lws_set_timeout
        - Src:             'lib/core-net/close.c:729,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:729,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:729,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:740,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:746,2'
          Dst:             __lws_ssl_remove_wsi_from_buffered_list
        - Src:             'lib/core-net/close.c:747,2'
          Dst:             __lws_wsi_remove_from_sul
        - Src:             'lib/core-net/close.c:753,2'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/close.c:755,2'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/close.c:756,2'
          Dst:             lws_buflist_destroy_all_segments
        - Src:             'lib/core-net/close.c:757,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:784,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/close.c:792,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:792,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:792,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:807,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/close.c:832,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:832,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:832,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:886,2'
          Dst:             lws_remove_child_from_any_parent
        - Src:             'lib/core-net/close.c:893,2'
          Dst:             __lws_close_free_wsi_final
        - Src:             'lib/core-net/close.c:897,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/core-net/close.c:898,3'
          Dst:             lws_ss_destroy
    - functionName:    lws_addrinfo_clean
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 339
      functionLinenumberEnd: 353
      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:341,23'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/close.c:347,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:348,3'
          Dst:             lws_realloc
    - functionName:    lws_remove_child_from_any_parent
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 285
      functionLinenumberEnd: 314
      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:296,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:296,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/close.c:296,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:296,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:311,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:311,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:311,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: 319
      functionLinenumberEnd: 334
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          80
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - lws_addrinfo_clean
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/close.c:320,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: 907
      functionLinenumberEnd: 1047
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         47
      ICount:          394
      EdgeCount:       62
      CyclomaticComplexity: 17
      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:911,48'
          Dst:             lws_ssl_close
        - Src:             'lib/core-net/close.c:912,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:912,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:912,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:919,8'
          Dst:             lws_plat_pipe_is_fd_assocated
        - Src:             'lib/core-net/close.c:921,8'
          Dst:             close
        - Src:             'lib/core-net/close.c:923,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:923,5'
          Dst:             __errno_location
        - Src:             'lib/core-net/close.c:923,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:923,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:927,3'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/close.c:929,4'
          Dst:             delete_from_fd
        - Src:             'lib/core-net/close.c:932,3'
          Dst:             delete_from_fdwsi
        - Src:             'lib/core-net/close.c:935,3'
          Dst:             sanity_assert_no_sockfd_traces
        - Src:             'lib/core-net/close.c:957,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:962,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:962,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:962,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:964,3'
          Dst:             lws_role_transition
        - Src:             'lib/core-net/close.c:973,4'
          Dst:             lws_wsi_mux_sibling_disconnect
        - Src:             'lib/core-net/close.c:984,4'
          Dst:             lws_bind_protocol
        - Src:             'lib/core-net/close.c:990,4'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/close.c:994,7'
          Dst:             lws_header_table_attach
        - Src:             'lib/core-net/close.c:995,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:995,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:995,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:1044,2'
          Dst:             __lws_wsi_remove_from_sul
        - Src:             'lib/core-net/close.c:1045,2'
          Dst:             sanity_assert_no_wsi_traces
        - Src:             'lib/core-net/close.c:1046,2'
          Dst:             __lws_free_wsi
    - functionName:    __lws_free_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 216
      functionLinenumberEnd: 280
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          167
      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:278,2'
          Dst:             __lws_lc_untag
        - Src:             'lib/core-net/close.c:279,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:          548
      EdgeCount:       69
      CyclomaticComplexity: 17
      functionsReached:
        - __lws_header_table_detach
        - __lws_same_vh_protocol_remove
        - __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: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: 235
      functionLinenumberEnd: 235
      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_vhost_active_conns
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1777
      functionLinenumberEnd: 1955
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         70
      ICount:          482
      EdgeCount:       97
      CyclomaticComplexity: 29
      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:1779,24'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/core-net/vhost.c:1786,18'
          Dst:             strstr
        - Src:             'lib/core-net/vhost.c:1794,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/vhost.c:1823,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:1823,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/vhost.c:1823,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1823,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:1840,32'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:1859,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:1859,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1859,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:1873,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:1873,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1873,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:1877,6'
          Dst:             _lws_generic_transaction_completed_active_conn
        - Src:             'lib/core-net/vhost.c:1882,5'
          Dst:             lws_wsi_h2_adopt
        - Src:             'lib/core-net/vhost.c:1920,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:1920,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/vhost.c:1920,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1920,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:1927,4'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/vhost.c:1931,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: 1749
      functionLinenumberEnd: 1758
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          66
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - strcmp
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1752,31'
          Dst:             strcmp
    - functionName:    lws_context_deprecate
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1709
      functionLinenumberEnd: 1742
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          82
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_close_free_wsi
        - lws_dll2_get_head
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1725,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/vhost.c:1731,4'
          Dst:             lws_close_free_wsi
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 235
      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: 1702
      functionLinenumberEnd: 1703
      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: 1696
      functionLinenumberEnd: 1697
      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: 1456
      functionLinenumberEnd: 1626
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         79
      ICount:          551
      EdgeCount:       105
      CyclomaticComplexity: 28
      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
        - lwsl_vhost_get_cx
        - unlink
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1472,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/vhost.c:1494,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1494,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1494,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1543,5'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1551,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1552,2'
          Dst:             lws_ssl_SSL_CTX_destroy
        - Src:             'lib/core-net/vhost.c:1553,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1561,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1576,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1585,7'
          Dst:             unlink
        - Src:             'lib/core-net/vhost.c:1587,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1587,4'
          Dst:             __errno_location
        - Src:             'lib/core-net/vhost.c:1587,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1587,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1613,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/vhost.c:1622,2'
          Dst:             __lws_lc_untag
        - Src:             'lib/core-net/vhost.c:1625,2'
          Dst:             lws_realloc
    - functionName:    lwsl_vhost_get_cx
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1967
      functionLinenumberEnd: 1972
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    42
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_log_prepend_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1976
      functionLinenumberEnd: 1981
      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:    42
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1980,8'
          Dst:             lws_vh_tag
        - Src:             'lib/core-net/vhost.c:1979,8'
          Dst:             lws_snprintf
    - functionName:    lws_vh_tag
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1961
      functionLinenumberEnd: 1962
      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:1962,9'
          Dst:             lws_lc_tag
    - functionName:    lws_vhost_destroy1
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1313
      functionLinenumberEnd: 1433
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         31
      ICount:          233
      EdgeCount:       40
      CyclomaticComplexity: 11
      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:1317,2'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1317,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1317,2'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1335,2'
          Dst:             lws_tls_session_vh_destroy
        - Src:             'lib/core-net/vhost.c:1339,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/vhost.c:1356,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/vhost.c:1370,8'
          Dst:             lws_vhost_compare_listen
        - Src:             'lib/core-net/vhost.c:1379,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1379,5'
          Dst:             lws_vh_tag
        - Src:             'lib/core-net/vhost.c:1379,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1379,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1382,5'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/vhost.c:1383,5'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/vhost.c:1396,5'
          Dst:             __lws_vhost_unbind_wsi
        - Src:             'lib/core-net/vhost.c:1397,5'
          Dst:             lws_vhost_bind_wsi
        - Src:             'lib/core-net/vhost.c:1412,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/vhost.c:1416,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/vhost.c:1417,3'
          Dst:             lws_set_timeout
    - functionName:    lws_vhost_compare_listen
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1277
      functionLinenumberEnd: 1280
      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:1279,32'
          Dst:             strcmp
    - functionName:    lws_vhost_foreach_listen_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1287
      functionLinenumberEnd: 1301
      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:1293,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: 1209
      functionLinenumberEnd: 1270
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          160
      EdgeCount:       29
      CyclomaticComplexity: 9
      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:1238,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1238,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1238,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1239,4'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/vhost.c:1251,21'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/vhost.c:1255,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:1255,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1255,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:1258,4'
          Dst:             lws_set_timeout
    - functionName:    lws_destroy_event_pipe
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1186
      functionLinenumberEnd: 1195
      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:1189,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:1189,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1189,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:1191,6'
          Dst:             lws_wsi_extract_from_loop
        - Src:             'lib/core-net/vhost.c:1192,2'
          Dst:             lws_plat_pipe_close
        - Src:             'lib/core-net/vhost.c:1194,3'
          Dst:             lws_realloc
    - functionName:    __lws_create_event_pipes
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1126
      functionLinenumberEnd: 1182
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          102
      EdgeCount:       17
      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:1147,9'
          Dst:             __lws_wsi_create_with_role
        - Src:             'lib/core-net/vhost.c:1152,3'
          Dst:             __lws_lc_tag
        - Src:             'lib/core-net/vhost.c:1158,8'
          Dst:             lws_plat_pipe_create
        - Src:             'lib/core-net/vhost.c:1171,8'
          Dst:             lws_wsi_inject_to_loop
    - functionName:    lws_cancel_service
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1108
      functionLinenumberEnd: 1122
      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:1115,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/vhost.c:1115,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1115,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/vhost.c:1119,4'
          Dst:             lws_plat_pipe_signal
    - functionName:    lws_cancel_service_pt
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1102
      functionLinenumberEnd: 1104
      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:1103,2'
          Dst:             lws_plat_pipe_signal
    - functionName:    lws_init_vhost_client_ssl
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1091
      functionLinenumberEnd: 1097
      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:1097,9'
          Dst:             lws_context_init_client_ssl
    - functionName:    lws_vhost_set_mounts
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1082
      functionLinenumberEnd: 1086
      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: 1656
      functionLinenumberEnd: 1691
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          47
      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:1662,2'
          Dst:             lws_vhost_destroy1
        - Src:             'lib/core-net/vhost.c:1665,2'
          Dst:             __lws_vhost_destroy_pt_wsi_dieback_start
        - Src:             'lib/core-net/vhost.c:1667,2'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1667,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1667,2'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1671,3'
          Dst:             __lws_vhost_destroy2
    - functionName:    lws_create_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 575
      functionLinenumberEnd: 1078
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         151
      ICount:          1257
      EdgeCount:       199
      CyclomaticComplexity: 50
      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_strncpy
        - lws_vhost_destroy
        - lws_zalloc
        - lwsl_vhost_get_cx
        - strcpy
        - strlen
      functionUses:    5
      BranchProfiles:
        - Branch String:   'lib/core-net/vhost.c:918,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/vhost.c:601,33'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:601,8'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/vhost.c:621,33'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:635,8'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/vhost.c:637,9'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/vhost.c:639,9'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/vhost.c:642,2'
          Dst:             __lws_lc_tag
        - Src:             'lib/core-net/vhost.c:664,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:664,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:664,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:735,3'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/vhost.c:741,13'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:743,13'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:747,6'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:749,13'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:756,11'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:782,10'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/vhost.c:789,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/vhost.c:888,4'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/vhost.c:913,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:913,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:913,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:920,4'
          Dst:             strcpy
        - Src:             'lib/core-net/vhost.c:923,4'
          Dst:             strcpy
        - Src:             'lib/core-net/vhost.c:926,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/vhost.c:929,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:929,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:929,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:936,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:936,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:936,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:961,3'
          Dst:             lws_set_proxy
        - Src:             'lib/core-net/vhost.c:969,7'
          Dst:             getenv
        - Src:             'lib/core-net/vhost.c:971,4'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/vhost.c:972,4'
          Dst:             lws_set_proxy
        - Src:             'lib/core-net/vhost.c:987,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:987,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:987,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1012,6'
          Dst:             lws_context_init_server_ssl
        - Src:             'lib/core-net/vhost.c:1013,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1013,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1013,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1018,6'
          Dst:             lws_context_init_client_ssl
        - Src:             'lib/core-net/vhost.c:1019,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1019,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1019,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1028,7'
          Dst:             _lws_vhost_init_server
        - Src:             'lib/core-net/vhost.c:1031,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1031,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1031,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1057,7'
          Dst:             lws_protocol_init
        - Src:             'lib/core-net/vhost.c:1058,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1058,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1058,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1065,2'
          Dst:             lws_vhost_destroy
        - Src:             'lib/core-net/vhost.c:1070,2'
          Dst:             __lws_lc_untag
        - Src:             'lib/core-net/vhost.c:1072,2'
          Dst:             lws_realloc
    - functionName:    lws_protocol_init
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 498
      functionLinenumberEnd: 544
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          164
      EdgeCount:       34
      CyclomaticComplexity: 10
      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:507,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/vhost.c:507,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:507,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/vhost.c:516,7'
          Dst:             lws_protocol_init_vhost
        - Src:             'lib/core-net/vhost.c:517,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:517,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:517,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:527,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/vhost.c:527,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:527,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/vhost.c:532,3'
          Dst:             lws_finalize_startup
        - Src:             'lib/core-net/vhost.c:539,3'
          Dst:             lws_tls_check_all_cert_lifetimes
    - functionName:    lws_protocol_init_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 382
      functionLinenumberEnd: 489
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         43
      ICount:          383
      EdgeCount:       57
      CyclomaticComplexity: 16
      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:406,9'
          Dst:             lws_vhost_protocol_options
        - Src:             'lib/core-net/vhost.c:416,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:416,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:416,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:421,10'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:422,6'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:422,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:422,6'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:427,10'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:428,6'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:428,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:428,6'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:436,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:436,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:436,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:444,9'
          Dst:             lws_vhost_protocol_options
        - Src:             'lib/core-net/vhost.c:468,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:468,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:468,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:475,6'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:478,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:478,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:478,5'
          Dst:             lws_log_prepend_vhost
    - functionName:    lws_vhost_protocol_options
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 365
      functionLinenumberEnd: 378
      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:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:372,8'
          Dst:             strcmp
    - functionName:    lws_vhd_find_by_pvo
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 319
      functionLinenumberEnd: 361
      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:333,8'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:338,9'
          Dst:             lws_pvo_search
        - Src:             'lib/core-net/vhost.c:342,9'
          Dst:             lws_pvo_search
        - Src:             'lib/core-net/vhost.c:347,9'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:356,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:356,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:356,4'
          Dst:             lws_log_prepend_vhost
    - functionName:    lws_protocol_vh_priv_get
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 288
      functionLinenumberEnd: 314
      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:302,9'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:308,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:308,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:308,4'
          Dst:             lws_log_prepend_vhost
    - functionName:    lws_protocol_vh_priv_zalloc
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 247
      functionLinenumberEnd: 283
      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:255,39'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/vhost.c:270,9'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:276,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:276,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:276,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:281,32'
          Dst:             lws_zalloc
    - functionName:    lws_role_call_client_bind
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 241
      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: 139
      functionLinenumberEnd: 214
      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:150,4'
          Dst:             lws_role_by_name
        - Src:             'lib/core-net/vhost.c:156,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:156,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:156,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:159,8'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:172,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:172,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:172,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:177,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:177,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:177,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:203,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:203,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:203,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_role_by_name
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 110
      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:97,8'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:101,7'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:105,7'
          Dst:             strcmp
    - functionName:    lws_role_call_alpn_negotiated
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 135
      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:120,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:120,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:120,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:124,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:         20
      ICount:          152
      EdgeCount:       25
      CyclomaticComplexity: 7
      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: 235
      functionLinenumberEnd: 235
      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:    43
      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:    12
      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:    24
      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:    8
      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:         9
      ICount:          71
      EdgeCount:       11
      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: 853
      functionLinenumberEnd: 880
      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:875,6'
          Dst:             _lws_plat_service_tsi
    - functionName:    lws_service
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 825
      functionLinenumberEnd: 849
      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:843,6'
          Dst:             lws_plat_service
    - functionName:    lws_service_fd
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 819
      functionLinenumberEnd: 820
      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:820,9'
          Dst:             lws_service_fd_tsi
    - functionName:    lws_service_fd_tsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 641
      functionLinenumberEnd: 815
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         62
      ICount:          390
      EdgeCount:       73
      CyclomaticComplexity: 13
      functionsReached:
        - __assert_fail
        - __lws_tls_shutdown
        - _lws_log_cx
        - lws_buflist_total_len
        - lws_callback_on_writable
        - lws_close_free_wsi
        - lws_is_ssl
        - lws_log_prepend_wsi
        - lws_set_timeout
        - lwsl_wsi_get_cx
        - wsi_from_fd
      functionUses:    5
      BranchProfiles:
        - Branch String:   'lib/core-net/service.c:728,3'
          Branch Sides:    []
        - Branch String:   'lib/core-net/service.c:767,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/service.c:659,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:662,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:665,8'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/service.c:698,9'
          Dst:             lws_buflist_total_len
        - Src:             'lib/core-net/service.c:705,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:705,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:705,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:716,4'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/service.c:727,6'
          Dst:             lws_is_ssl
        - Src:             'lib/core-net/service.c:728,11'
          Dst:             __lws_tls_shutdown
        - Src:             'lib/core-net/service.c:762,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:782,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:782,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:782,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:783,3'
          Dst:             lws_close_free_wsi
        - Src:             'lib/core-net/service.c:804,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:811,3'
          Dst:             lws_callback_on_writable
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 235
      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: 570
      functionLinenumberEnd: 636
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          199
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/service.c:609,2'
          Dst:             lws_dll2_get_head
    - functionName:    lws_service_do_ripe_rxflow
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 519
      functionLinenumberEnd: 560
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          143
      EdgeCount:       22
      CyclomaticComplexity: 7
      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:540,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:540,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:540,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:552,5'
          Dst:             lws_close_free_wsi
    - functionName:    lws_buflist_aware_finished_consuming
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 475
      functionLinenumberEnd: 515
      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:486,13'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/core-net/service.c:492,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:492,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:492,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:493,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/service.c:501,7'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core-net/service.c:507,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:507,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:507,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:508,8'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/service.c:509,5'
          Dst:             lws_dll2_add_head
    - functionName:    lws_buflist_aware_read
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 387
      functionLinenumberEnd: 470
      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:411,13'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/core-net/service.c:420,18'
          Dst:             lws_ssl_capable_read
        - Src:             'lib/core-net/service.c:422,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:422,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:422,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:426,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/service.c:444,7'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core-net/service.c:447,12'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/service.c:448,4'
          Dst:             lws_dll2_add_head
    - functionName:    lws_service_adjust_timeout
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 299
      functionLinenumberEnd: 377
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          238
      EdgeCount:       56
      CyclomaticComplexity: 17
      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:306,21'
          Dst:             lws_protocol_init
        - Src:             'lib/core-net/service.c:310,14'
          Dst:             lws_smd_message_pending
        - Src:             'lib/core-net/service.c:311,3'
          Dst:             lws_smd_msg_distribute
        - Src:             'lib/core-net/service.c:312,7'
          Dst:             lws_smd_message_pending
        - Src:             'lib/core-net/service.c:325,36'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/service.c:324,7'
          Dst:             __lws_sul_service_ripe
    - functionName:    lws_rxflow_cache
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 250
      functionLinenumberEnd: 291
      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:257,9'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/core-net/service.c:268,4'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/core-net/service.c:269,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:269,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:269,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:279,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:279,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:279,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:280,6'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core-net/service.c:285,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:285,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:285,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:286,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/service.c:287,4'
          Dst:             lws_dll2_add_head
    - functionName:    lws_handle_POLLOUT_event
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 246
      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:151,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/service.c:91,6'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/service.c:92,7'
          Dst:             lws_issue_raw
        - Src:             'lib/core-net/service.c:93,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:93,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:93,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:144,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:160,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:169,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/service.c:170,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:170,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:170,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:183,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:183,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:183,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:184,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/service.c:185,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:185,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:185,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:215,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:215,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:215,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:221,6'
          Dst:             lws_callback_as_writeable
        - Src:             'lib/core-net/service.c:225,7'
          Dst:             lws_change_pollfd
    - functionName:    lws_callback_as_writeable
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 58
      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:54,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: 45
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          48
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
      functionUses:    17
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/service.c:44,2'
          Dst:             __assert_fail
    - functionName:    lws_sul_schedule_wakesuspend
      functionSourceFile: '/src/libwebsockets/lib/core-net/sorted-usec-list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 302
      functionLinenumberEnd: 318
      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:305,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/sorted-usec-list.c:310,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/sorted-usec-list.c:313,13'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/sorted-usec-list.c:314,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:    31
      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: 280
      functionLinenumberEnd: 296
      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:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/sorted-usec-list.c:283,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/sorted-usec-list.c:288,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/sorted-usec-list.c:291,13'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/sorted-usec-list.c:292,3'
          Dst:             lws_sul2_schedule
    - functionName:    lws_sul_earliest_wakeable_event
      functionSourceFile: '/src/libwebsockets/lib/core-net/sorted-usec-list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 275
      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:255,6'
          Dst:             lws_dll2_get_head
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 235
      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: 189
      functionLinenumberEnd: 234
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          106
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - lws_dll2_get_head
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/sorted-usec-list.c:212,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: 169
      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: 1668
      functionLinenumberEnd: 1712
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          103
      EdgeCount:       18
      CyclomaticComplexity: 6
      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:1682,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1682,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1682,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1684,4'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/wsi.c:1687,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi.c:1690,4'
          Dst:             lws_wsi_h2_adopt
    - functionName:    lwsl_wsi_get_cx
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1039
      functionLinenumberEnd: 1044
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    264
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_log_prepend_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 62
      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:    264
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:61,8'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:60,8'
          Dst:             lws_snprintf
    - functionName:    lwsi_set_state
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 51
      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:    59
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:49,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:49,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:49,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_wsi_tag
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 33
      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:    121
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:32,9'
          Dst:             lws_lc_tag
    - functionName:    lws_wsi_txc_report_manual_txcr_in
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1651
      functionLinenumberEnd: 1662
      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:1659,9'
          Dst:             user_callback_handle_rxflow
    - functionName:    user_callback_handle_rxflow
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 512
      functionLinenumberEnd: 521
      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:    23
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:519,7'
          Dst:             __lws_rx_flow_control
    - functionName:    __lws_rx_flow_control
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 526
      functionLinenumberEnd: 574
      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:537,4'
          Dst:             __lws_rx_flow_control
        - Src:             'lib/core-net/wsi.c:547,6'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/core-net/wsi.c:549,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/wsi.c:557,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:557,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:557,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:563,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:563,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:563,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:565,7'
          Dst:             __lws_change_pollfd
        - Src:             'lib/core-net/wsi.c:566,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:566,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:566,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:570,7'
          Dst:             __lws_change_pollfd
    - functionName:    lws_wsi_tx_credit
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1636
      functionLinenumberEnd: 1642
      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: 1627
      functionLinenumberEnd: 1631
      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:1628,2'
          Dst:             _lws_log
    - functionName:    lws_wsi_txc_check_skint
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1598
      functionLinenumberEnd: 1622
      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:1607,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/wsi.c:1616,3'
          Dst:             _lws_log
    - functionName:    lws_wsi_mux_action_pending_writeable_reqs
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1578
      functionLinenumberEnd: 1594
      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:1583,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/wsi.c:1590,6'
          Dst:             lws_change_pollfd
    - functionName:    lws_wsi_mux_move_child_to_tail
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1541
      functionLinenumberEnd: 1573
      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:1546,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1546,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1546,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1546,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: 1522
      functionLinenumberEnd: 1536
      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:1531,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1531,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1531,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_wsi_mux_dump_waiting_children
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1502
      functionLinenumberEnd: 1518
      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:1504,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1504,2'
          Dst:             _lws_log
        - Src:             'lib/core-net/wsi.c:1509,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1509,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1509,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_wsi_mux_sibling_disconnect
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1479
      functionLinenumberEnd: 1498
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          82
      EdgeCount:       11
      CyclomaticComplexity: 4
      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:1490,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1490,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1490,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1490,4'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_wsi_mux_close_children
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1456
      functionLinenumberEnd: 1474
      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:1465,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1465,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1465,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1468,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1471,3'
          Dst:             __lws_close_free_wsi
    - functionName:    lws_wsi_mux_dump_children
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1439
      functionLinenumberEnd: 1452
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          101
      EdgeCount:       22
      CyclomaticComplexity: 6
      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:1441,31'
          Dst:             lwsl_visible
        - Src:             'lib/core-net/wsi.c:1446,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1446,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1446,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1446,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1449,3'
          Dst:             __assert_fail
    - functionName:    lws_wsi_mux_from_id
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1428
      functionLinenumberEnd: 1435
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          47
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_wsi_mux_insert
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1406
      functionLinenumberEnd: 1424
      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:1407,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1407,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1407,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1407,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1411,3'
          Dst:             __assert_fail
    - functionName:    lws_wsi_client_stash_item
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1367
      functionLinenumberEnd: 1378
      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:1374,9'
          Dst:             lws_hdr_simple_ptr
    - functionName:    lws_http_mark_sse
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1350
      functionLinenumberEnd: 1361
      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:1354,2'
          Dst:             lws_http_headers_detach
        - Src:             'lib/core-net/wsi.c:1355,2'
          Dst:             lws_mux_mark_immortal
    - functionName:    lws_mux_mark_immortal
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1316
      functionLinenumberEnd: 1346
      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:1319,2'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/wsi.c:1334,9'
          Dst:             lws_get_network_wsi
        - Src:             'lib/core-net/wsi.c:1338,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1338,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1338,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1338,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1342,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1345,3'
          Dst:             lws_set_timeout
    - functionName:    lws_get_network_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          70
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    38
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_wsi_keepalive_timeout_eff
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1383
      functionLinenumberEnd: 1399
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          82
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_http_close_immortal
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1291
      functionLinenumberEnd: 1312
      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:1297,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1300,9'
          Dst:             lws_get_network_wsi
        - Src:             'lib/core-net/wsi.c:1301,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1301,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1301,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1301,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1303,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1311,5'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/core-net/wsi.c:1310,3'
          Dst:             lws_set_timeout
    - functionName:    lws_bind_protocol
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1235
      functionLinenumberEnd: 1287
      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:1247,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/wsi.c:1249,2'
          Dst:             lws_same_vh_protocol_remove
        - Src:             'lib/core-net/wsi.c:1255,6'
          Dst:             lws_ensure_user_space
        - Src:             'lib/core-net/wsi.c:1259,3'
          Dst:             lws_same_vh_protocol_insert
        - Src:             'lib/core-net/wsi.c:1267,32'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:1269,5'
          Dst:             lws_same_vh_protocol_insert
        - Src:             'lib/core-net/wsi.c:1275,4'
          Dst:             _lws_log
    - functionName:    lws_ensure_user_space
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 586
      functionLinenumberEnd: 604
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          92
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lws_zalloc
        - lwsl_wsi_get_cx
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:593,21'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/wsi.c:596,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:596,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:596,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:600,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:600,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:600,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_raw_transaction_completed
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1211
      functionLinenumberEnd: 1230
      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:1212,6'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/wsi.c:1222,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1222,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1222,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1224,3'
          Dst:             lws_callback_on_writable
    - functionName:    lws_has_buffered_out
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 645
      functionLinenumberEnd: 659
      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:    23
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:651,22'
          Dst:             lws_get_network_wsi
    - functionName:    _lws_generic_transaction_completed_active_conn
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1049
      functionLinenumberEnd: 1206
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         38
      ICount:          316
      EdgeCount:       47
      CyclomaticComplexity: 11
      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:1059,6'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/wsi.c:1082,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1082,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1082,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1083,3'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/wsi.c:1085,3'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/wsi.c:1102,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1104,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi.c:1106,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1108,2'
          Dst:             __lws_change_pollfd
        - Src:             'lib/core-net/wsi.c:1113,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1117,6'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/wsi.c:1120,2'
          Dst:             sanity_assert_no_wsi_traces
        - Src:             'lib/core-net/wsi.c:1121,2'
          Dst:             sanity_assert_no_sockfd_traces
        - Src:             'lib/core-net/wsi.c:1124,2'
          Dst:             __lws_wsi_remove_from_sul
        - Src:             'lib/core-net/wsi.c:1142,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1144,6'
          Dst:             __insert_wsi_socket_into_fds
        - Src:             'lib/core-net/wsi.c:1169,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi.c:1170,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/wsi.c:1180,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi.c:1181,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/wsi.c:1196,2'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/wsi.c:1201,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1201,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1201,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1201,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_get_context
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1033
      functionLinenumberEnd: 1034
      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: 1026
      functionLinenumberEnd: 1027
      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: 1019
      functionLinenumberEnd: 1020
      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: 1013
      functionLinenumberEnd: 1014
      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: 1007
      functionLinenumberEnd: 1008
      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: 998
      functionLinenumberEnd: 1002
      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: 992
      functionLinenumberEnd: 993
      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: 986
      functionLinenumberEnd: 987
      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: 980
      functionLinenumberEnd: 981
      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: 974
      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: 966
      functionLinenumberEnd: 968
      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: 960
      functionLinenumberEnd: 961
      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: 954
      functionLinenumberEnd: 956
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_opaque_user_data
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 948
      functionLinenumberEnd: 949
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_set_opaque_parent_data
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 942
      functionLinenumberEnd: 944
      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: 936
      functionLinenumberEnd: 937
      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: 930
      functionLinenumberEnd: 931
      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: 924
      functionLinenumberEnd: 925
      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: 914
      functionLinenumberEnd: 920
      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:916,3'
          Dst:             lws_realloc
    - functionName:    lws_wsi_tsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 907
      functionLinenumberEnd: 908
      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: 901
      functionLinenumberEnd: 902
      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: 870
      functionLinenumberEnd: 896
      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_pvo_get_str
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 855
      functionLinenumberEnd: 866
      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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:857,3'
          Dst:             lws_pvo_search
    - functionName:    lws_pvo_search
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 842
      functionLinenumberEnd: 850
      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:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:844,8'
          Dst:             strcmp
    - functionName:    lws_is_cgi
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 832
      functionLinenumberEnd: 836
      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: 826
      functionLinenumberEnd: 827
      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: 811
      functionLinenumberEnd: 820
      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: 791
      functionLinenumberEnd: 794
      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:792,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: 753
      functionLinenumberEnd: 787
      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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:754,32'
          Dst:             strlen
        - Src:             'lib/core-net/wsi.c:757,13'
          Dst:             lws_hdr_copy_fragment
        - Src:             'lib/core-net/wsi.c:766,8'
          Dst:             strncmp
    - functionName:    lws_parse_uri
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 698
      functionLinenumberEnd: 746
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:718,7'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:718,33'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:720,12'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:720,39'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:735,11'
          Dst:             atoi
    - functionName:    lws_get_peer_write_allowance
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 669
      functionLinenumberEnd: 675
      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: 663
      functionLinenumberEnd: 664
      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:664,9'
          Dst:             lws_has_buffered_out
    - functionName:    lws_get_ssl
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 638
      functionLinenumberEnd: 639
      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: 626
      functionLinenumberEnd: 628
      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: 620
      functionLinenumberEnd: 621
      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: 608
      functionLinenumberEnd: 616
      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:609,27'
          Dst:             lws_get_protocol
        - Src:             'lib/core-net/wsi.c:612,6'
          Dst:             lws_ensure_user_space
    - functionName:    lws_get_protocol
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 579
      functionLinenumberEnd: 580
      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: 490
      functionLinenumberEnd: 506
      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:497,10'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/wsi.c:501,10'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:502,5'
          Dst:             lws_rx_flow_control
    - functionName:    lws_rx_flow_control
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 434
      functionLinenumberEnd: 485
      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:443,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:443,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:443,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:470,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:470,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:470,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:475,8'
          Dst:             __lws_rx_flow_control
    - functionName:    lws_callback_vhost_protocols_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 408
      functionLinenumberEnd: 429
      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:410,20'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/wsi.c:416,2'
          Dst:             lws_vhost_bind_wsi
        - Src:             'lib/core-net/wsi.c:421,4'
          Dst:             lws_realloc
        - Src:             'lib/core-net/wsi.c:426,2'
          Dst:             lws_realloc
    - functionName:    lws_vhost_bind_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 88
      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:83,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:83,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:83,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:87,2'
          Dst:             __assert_fail
    - functionName:    lws_wsi_extract_from_loop
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 389
      functionLinenumberEnd: 403
      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:391,3'
          Dst:             __remove_wsi_socket_from_fds
    - functionName:    lws_wsi_inject_to_loop
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 361
      functionLinenumberEnd: 379
      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:370,6'
          Dst:             __insert_wsi_socket_into_fds
        - Src:             'lib/core-net/wsi.c:373,2'
          Dst:             lws_dll2_remove
    - functionName:    lws_role_transition
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 680
      functionLinenumberEnd: 693
      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:690,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:690,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:690,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    __lws_wsi_create_with_role
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 302
      functionLinenumberEnd: 357
      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:307,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:315,8'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/wsi.c:318,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/wsi.c:318,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:318,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/wsi.c:331,2'
          Dst:             lws_role_transition
        - Src:             'lib/core-net/wsi.c:353,2'
          Dst:             lws_dll2_add_head
    - functionName:    lws_callback_vhost_protocols
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 245
      functionLinenumberEnd: 253
      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: 239
      functionLinenumberEnd: 240
      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:240,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: 209
      functionLinenumberEnd: 233
      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:217,10'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/wsi.c:224,8'
          Dst:             strcmp
    - functionName:    lws_evlib_tsi_to_evlib_pt
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 202
      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: 191
      functionLinenumberEnd: 194
      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: 167
      functionLinenumberEnd: 186
      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:174,10'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/wsi.c:178,10'
          Dst:             strcmp
    - functionName:    lws_vhost_name_to_protocol
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 162
      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:158,33'
          Dst:             strcmp
    - functionName:    __lws_vhost_unbind_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 128
      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:104,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:112,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:112,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:112,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:125,3'
          Dst:             __lws_vhost_destroy2
    - functionName:    lwsi_set_role
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 41
      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:40,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:40,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:40,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_validity_confirmed
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 284
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          96
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_validity_cb
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 206
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          200
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - __lws_close_free_wsi
        - __lws_sul_insert
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lws_now_usecs
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:214,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:214,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:214,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:220,3'
          Dst:             __lws_close_free_wsi
        - Src:             'lib/core-net/wsi-timeout.c:229,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:229,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:229,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:241,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi-timeout.c:244,2'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/wsi-timeout.c:244,2'
          Dst:             __lws_sul_insert
    - functionName:    _lws_validity_confirmed_role
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 257
      functionLinenumberEnd: 280
      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:270,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:270,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:270,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:275,2'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/wsi-timeout.c:275,2'
          Dst:             __lws_sul_insert
    - functionName:    lws_set_timeout_us
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 183
      functionLinenumberEnd: 202
      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:187,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi-timeout.c:194,2'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/wsi-timeout.c:194,2'
          Dst:             __lws_sul_insert
        - Src:             'lib/core-net/wsi-timeout.c:197,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:197,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:197,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_set_timeout
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          119
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - __lws_set_timeout
        - _lws_log_cx
        - lws_close_free_wsi
        - lws_dll2_remove
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    51
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:152,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi-timeout.c:159,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:159,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:159,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:161,3'
          Dst:             lws_close_free_wsi
        - Src:             'lib/core-net/wsi-timeout.c:171,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:171,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:171,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:174,2'
          Dst:             __lws_set_timeout
    - functionName:    __lws_set_timeout
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          60
      EdgeCount:       3
      CyclomaticComplexity: 2
      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:136,2'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/wsi-timeout.c:136,2'
          Dst:             __lws_sul_insert
        - Src:             'lib/core-net/wsi-timeout.c:140,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:140,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:140,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_sul_wsitimeout_cb
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 128
      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:91,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:91,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:91,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:116,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/wsi-timeout.c:119,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/wsi-timeout.c:125,2'
          Dst:             __lws_close_free_wsi
    - functionName:    lws_set_timer_usecs
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 74
      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:71,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/wsi-timeout.c:73,3'
          Dst:             __lws_set_timer_usecs
    - functionName:    __lws_set_timer_usecs
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 65
      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:63,2'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/wsi-timeout.c:63,2'
          Dst:             __lws_sul_insert
    - functionName:    lws_sul_hrtimer_cb
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 55
      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:53,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: 39
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      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
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 235
      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: 967
      functionLinenumberEnd: 969
      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:968,37'
          Dst:             lws_adopt_socket_vhost
        - Src:             'lib/core-net/adopt.c:968,16'
          Dst:             adopt_socket_readbuf
    - functionName:    lws_adopt_socket_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 577
      functionLinenumberEnd: 581
      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:581,9'
          Dst:             lws_adopt_descriptor_vhost
    - functionName:    adopt_socket_readbuf
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 594
      functionLinenumberEnd: 655
      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:610,6'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core-net/adopt.c:615,3'
          Dst:             lws_dll2_add_head
        - Src:             'lib/core-net/adopt.c:627,23'
          Dst:             lws_header_table_attach
        - Src:             'lib/core-net/adopt.c:629,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:639,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:640,7'
          Dst:             lws_service_fd_tsi
        - Src:             'lib/core-net/adopt.c:646,2'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:651,2'
          Dst:             lws_close_free_wsi
    - functionName:    lws_adopt_descriptor_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 505
      functionLinenumberEnd: 516
      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:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/adopt.c:516,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: 521
      functionLinenumberEnd: 572
      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:548,12'
          Dst:             __lws_adopt_descriptor_vhost1
        - Src:             'lib/core-net/adopt.c:553,4'
          Dst:             close
        - Src:             'lib/core-net/adopt.c:558,6'
          Dst:             getpeername
        - Src:             'lib/core-net/adopt.c:560,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:567,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:    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_adopt_descriptor_vhost2
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 366
      functionLinenumberEnd: 496
      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:440,7'
          Dst:             lws_server_socket_service_ssl
        - Src:             'lib/core-net/adopt.c:441,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:441,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:441,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:449,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/adopt.c:462,2'
          Dst:             lws_role_call_adoption_bind
        - Src:             'lib/core-net/adopt.c:474,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:474,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:474,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:476,6'
          Dst:             lws_adopt_ss_server_accept
        - Src:             'lib/core-net/adopt.c:486,2'
          Dst:             lws_cancel_service_pt
        - Src:             'lib/core-net/adopt.c:492,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: 958
      functionLinenumberEnd: 960
      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:959,37'
          Dst:             lws_adopt_socket
        - Src:             'lib/core-net/adopt.c:959,16'
          Dst:             adopt_socket_readbuf
    - functionName:    lws_adopt_socket
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 587
      functionLinenumberEnd: 588
      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:588,9'
          Dst:             lws_adopt_socket_vhost
    - functionName:    lws_create_adopt_udp2
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 668
      functionLinenumberEnd: 821
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         67
      ICount:          387
      EdgeCount:       89
      CyclomaticComplexity: 24
      functionsReached:
        - __assert_fail
        - __errno_location
        - _lws_log
        - bind
        - close
        - connect
        - freeaddrinfo
        - htons
        - lws_addrinfo_clean
        - lws_adopt_descriptor_vhost2
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_plat_BINDTODEVICE
        - lws_realloc
        - lws_sort_dns
        - setsockopt
        - socket
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/adopt.c:672,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/adopt.c:679,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:684,6'
          Dst:             lws_sort_dns
        - Src:             'lib/core-net/adopt.c:688,2'
          Dst:             freeaddrinfo
        - Src:             'lib/core-net/adopt.c:693,9'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/adopt.c:694,23'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/adopt.c:702,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/adopt.c:722,6'
          Dst:             htons
        - Src:             'lib/core-net/adopt.c:719,17'
          Dst:             socket
        - Src:             'lib/core-net/adopt.c:730,27'
          Dst:             htons
        - Src:             'lib/core-net/adopt.c:736,7'
          Dst:             setsockopt
        - Src:             'lib/core-net/adopt.c:738,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:741,7'
          Dst:             setsockopt
        - Src:             'lib/core-net/adopt.c:743,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:748,7'
          Dst:             lws_plat_BINDTODEVICE
        - Src:             'lib/core-net/adopt.c:752,7'
          Dst:             bind
        - Src:             'lib/core-net/adopt.c:759,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:765,8'
          Dst:             connect
        - Src:             'lib/core-net/adopt.c:767,8'
          Dst:             __errno_location
        - Src:             'lib/core-net/adopt.c:768,5'
          Dst:             __errno_location
        - Src:             'lib/core-net/adopt.c:768,5'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:773,5'
          Dst:             close
        - Src:             'lib/core-net/adopt.c:795,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/adopt.c:796,3'
          Dst:             lws_addrinfo_clean
        - Src:             'lib/core-net/adopt.c:797,10'
          Dst:             lws_adopt_descriptor_vhost2
        - Src:             'lib/core-net/adopt.c:801,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/adopt.c:804,2'
          Dst:             __errno_location
        - Src:             'lib/core-net/adopt.c:804,2'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:805,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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    htons
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      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:    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:    17
      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:    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: 828
      functionLinenumberEnd: 951
      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:833,2'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:839,8'
          Dst:             __lws_adopt_descriptor_vhost1
        - Src:             'lib/core-net/adopt.c:846,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:878,3'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/adopt.c:879,7'
          Dst:             getaddrinfo
        - Src:             'lib/core-net/adopt.c:882,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/adopt.c:882,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:882,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/adopt.c:898,9'
          Dst:             lws_create_adopt_udp2
        - Src:             'lib/core-net/adopt.c:943,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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rops_handle_POLLIN_pipe
      functionSourceFile: '/src/libwebsockets/lib/roles/pipe/ops-pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 117
      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:35,6'
          Dst:             eventfd_read
        - Src:             'lib/roles/pipe/ops-pipe.c:37,3'
          Dst:             __errno_location
        - Src:             'lib/roles/pipe/ops-pipe.c:37,3'
          Dst:             _lws_log
        - Src:             'lib/roles/pipe/ops-pipe.c:99,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/roles/pipe/ops-pipe.c:99,2'
          Dst:             lws_ss_cancel_notify_dll
        - Src:             'lib/roles/pipe/ops-pipe.c:111,6'
          Dst:             lws_broadcast
        - Src:             'lib/roles/pipe/ops-pipe.c:112,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:    _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:         9
      ICount:          86
      EdgeCount:       11
      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:    1
      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: 120
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          193
      EdgeCount:       33
      CyclomaticComplexity: 10
      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,6'
          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:99,6'
          Dst:             strchr
        - Src:             'lib/core-net/client/client.c:101,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/client/client.c:101,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/client.c:101,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/client/client.c:107,47'
          Dst:             atoi
        - Src:             'lib/core-net/client/client.c:110,2'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/client/client.c:110,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/client.c:110,2'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/client/client.c:117,2'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/client/client.c:117,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/client.c:117,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_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 235
      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_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:         9
      ICount:          99
      EdgeCount:       11
      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_sort_dns
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/sort-dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 590
      functionLinenumberEnd: 778
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          197
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - _lws_log_cx
        - _lws_route_est_outgoing
        - lws_dll2_add_tail
        - lws_log_prepend_wsi
        - lws_realloc
        - lws_sa46_write_numeric_address
        - lws_sort_dns_dump
        - 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:629,8'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/client/sort-dns.c:636,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/client/sort-dns.c:638,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/sort-dns.c:638,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/sort-dns.c:638,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/sort-dns.c:651,11'
          Dst:             _lws_route_est_outgoing
        - Src:             'lib/core-net/client/sort-dns.c:653,5'
          Dst:             lws_realloc
        - Src:             'lib/core-net/client/sort-dns.c:654,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/sort-dns.c:654,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/sort-dns.c:654,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/sort-dns.c:763,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/client/sort-dns.c:774,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:         37
      ICount:          273
      EdgeCount:       50
      CyclomaticComplexity: 15
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lws_realloc
        - lwsl_wsi_get_cx
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - 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_sul_http_ah_lifecheck
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 601
      functionLinenumberEnd: 680
      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:609,8'
          Dst:             time
        - Src:             'lib/roles/http/header.c:636,3'
          Dst:             lws_get_peer_simple
        - Src:             'lib/roles/http/header.c:640,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/header.c:640,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/header.c:647,8'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/http/header.c:653,10'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/header.c:659,8'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/header.c:662,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/header.c:669,3'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/http/header.c:673,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: 593
      functionLinenumberEnd: 594
      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:594,9'
          Dst:             lws_header_table_detach
    - functionName:    lws_http_compression_apply
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 580
      functionLinenumberEnd: 587
      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: 546
      functionLinenumberEnd: 573
      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:549,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/header.c:552,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:560,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:564,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:568,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/header.c:571,9'
          Dst:             lws_write
    - functionName:    lws_add_http_header_status
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 312
      functionLinenumberEnd: 427
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         77
      ICount:          477
      EdgeCount:       104
      CyclomaticComplexity: 29
      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
        - strcmp
        - strlen
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:328,6'
          Dst:             lws_wsi_is_h2
        - Src:             'lib/roles/http/header.c:329,7'
          Dst:             lws_add_http2_header_status
        - Src:             'lib/roles/http/header.c:355,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/header.c:359,7'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/roles/http/header.c:373,9'
          Dst:             strcmp
        - Src:             'lib/roles/http/header.c:384,10'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:381,7'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/roles/http/header.c:397,11'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:394,8'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/roles/http/header.c:406,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/header.c:407,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:414,7'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/roles/http/header.c:421,3'
          Dst:             _lws_log
    - functionName:    lws_add_http_header_by_token
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 156
      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:147,6'
          Dst:             lws_wsi_is_h2
        - Src:             'lib/roles/http/header.c:148,10'
          Dst:             lws_add_http2_header_by_token
        - Src:             'lib/roles/http/header.c:151,9'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/http/header.c:155,9'
          Dst:             lws_add_http_header_by_name
    - functionName:    lws_finalize_http_header
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 119
      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:108,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: 72
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          194
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - lws_add_http2_header_by_name
        - lws_wsi_is_h2
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:74,6'
          Dst:             lws_wsi_is_h2
        - Src:             'lib/roles/http/header.c:75,10'
          Dst:             lws_add_http2_header_by_name
    - functionName:    lws_return_http_status
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 432
      functionLinenumberEnd: 541
      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:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:433,32'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/header.c:443,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/header.c:454,16'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:452,7'
          Dst:             lws_http_redirect
        - Src:             'lib/roles/http/header.c:465,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/header.c:468,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:473,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/header.c:481,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/header.c:482,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:486,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/header.c:504,7'
          Dst:             lws_write
        - Src:             'lib/roles/http/header.c:516,33'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/header.c:521,3'
          Dst:             strcpy
        - Src:             'lib/roles/http/header.c:522,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/header.c:535,7'
          Dst:             lws_write
    - functionName:    lws_add_http_common_headers
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 185
      functionLinenumberEnd: 257
      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:190,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/header.c:196,15'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:194,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:216,7'
          Dst:             lws_add_http_header_content_length
        - Src:             'lib/roles/http/header.c:249,13'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:246,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: 162
      functionLinenumberEnd: 177
      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:166,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/header.c:167,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:173,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/header.c:173,2'
          Dst:             _lws_log
    - functionName:    lws_finalize_write_http_header
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 138
      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:128,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/header.c:134,6'
          Dst:             lws_write
    - 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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:48,8'
          Dst:             strncmp
    - functionName:    lws_http_cookie_get
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1538
      functionLinenumberEnd: 1614
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          335
      EdgeCount:       60
      CyclomaticComplexity: 18
      functionsReached:
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - memcmp
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:1539,30'
          Dst:             strlen
        - Src:             'lib/roles/http/parsers.c:1543,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/parsers.c:1553,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/parsers.c:1567,9'
          Dst:             memcmp
        - Src:             'lib/roles/http/parsers.c:1589,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/parsers.c:1596,21'
          Dst:             memcmp
    - functionName:    lws_hdr_total_length
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 479
      functionLinenumberEnd: 499
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          100
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    76
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_hdr_simple_ptr
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 682
      functionLinenumberEnd: 693
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          65
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    78
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_parse
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1019
      functionLinenumberEnd: 1533
      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:1032,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/http/parsers.c:1112,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:1026,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:1039,5'
          Dst:             lws_ser_wu16be
        - Src:             'lib/roles/http/parsers.c:1051,9'
          Dst:             lws_pos_in_bounds
        - Src:             'lib/roles/http/parsers.c:1061,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1081,10'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:1103,9'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:1111,8'
          Dst:             lws_parse_urldecode
        - Src:             'lib/roles/http/parsers.c:1140,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1143,22'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:1169,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1199,11'
          Dst:             lws_pos_in_bounds
        - Src:             'lib/roles/http/parsers.c:1204,8'
          Dst:             lws_pos_in_bounds
        - Src:             'lib/roles/http/parsers.c:1227,6'
          Dst:             lws_ser_wu32be
        - Src:             'lib/roles/http/parsers.c:1235,5'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/parsers.c:1238,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1246,5'
          Dst:             lws_ser_wu16be
        - Src:             'lib/roles/http/parsers.c:1358,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1364,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1389,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1393,7'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1447,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1467,8'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:1473,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1487,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1500,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1512,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/parsers.c:1514,20'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/parsers.c:1516,31'
          Dst:             atoi
        - Src:             'lib/roles/http/parsers.c:1518,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1527,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1529,2'
          Dst:             lws_return_http_status
    - functionName:    lws_pos_in_bounds
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 697
      functionLinenumberEnd: 720
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          88
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - _lws_log
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:706,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:714,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:717,2'
          Dst:             __assert_fail
    - functionName:    issue_char
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 761
      functionLinenumberEnd: 791
      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:764,6'
          Dst:             lws_pos_in_bounds
        - Src:             'lib/roles/http/parsers.c:781,7'
          Dst:             lws_pos_in_bounds
        - Src:             'lib/roles/http/parsers.c:785,3'
          Dst:             _lws_log
    - functionName:    lws_parse_urldecode
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 795
      functionLinenumberEnd: 998
      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:806,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/http/parsers.c:858,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:814,7'
          Dst:             char_to_hex
        - Src:             'lib/roles/http/parsers.c:823,7'
          Dst:             char_to_hex
        - Src:             'lib/roles/http/parsers.c:827,34'
          Dst:             char_to_hex
        - Src:             'lib/roles/http/parsers.c:828,5'
          Dst:             char_to_hex
        - Src:             'lib/roles/http/parsers.c:854,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:863,8'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:924,7'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:954,7'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:956,7'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:968,7'
          Dst:             issue_char
    - functionName:    lws_hdr_simple_create
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 724
      functionLinenumberEnd: 757
      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:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:737,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:748,7'
          Dst:             lws_pos_in_bounds
    - functionName:    lws_hdr_custom_name_foreach
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 658
      functionLinenumberEnd: 678
      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:671,6'
          Dst:             lws_ser_ru16be
        - Src:             'lib/roles/http/parsers.c:674,8'
          Dst:             lws_ser_ru32be
    - functionName:    lws_hdr_custom_copy
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 624
      functionLinenumberEnd: 653
      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:637,15'
          Dst:             lws_ser_ru16be
        - Src:             'lib/roles/http/parsers.c:639,8'
          Dst:             strncmp
        - Src:             'lib/roles/http/parsers.c:640,8'
          Dst:             lws_ser_ru16be
        - Src:             'lib/roles/http/parsers.c:644,4'
          Dst:             strncpy
        - Src:             'lib/roles/http/parsers.c:649,8'
          Dst:             lws_ser_ru32be
    - functionName:    lws_hdr_custom_length
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 599
      functionLinenumberEnd: 619
      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:609,15'
          Dst:             lws_ser_ru16be
        - Src:             'lib/roles/http/parsers.c:611,8'
          Dst:             strncmp
        - Src:             'lib/roles/http/parsers.c:612,11'
          Dst:             lws_ser_ru16be
        - Src:             'lib/roles/http/parsers.c:615,8'
          Dst:             lws_ser_ru32be
    - functionName:    lws_hdr_copy
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 534
      functionLinenumberEnd: 594
      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:535,15'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/parsers.c:560,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/parsers.c:560,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/parsers.c:560,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/parsers.c:563,3'
          Dst:             strncpy
    - functionName:    lws_hdr_copy_fragment
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 503
      functionLinenumberEnd: 530
      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: 460
      functionLinenumberEnd: 476
      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: 446
      functionLinenumberEnd: 455
      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:452,6'
          Dst:             __lws_header_table_detach
    - functionName:    __lws_header_table_detach
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 307
      functionLinenumberEnd: 443
      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:315,2'
          Dst:             __lws_remove_from_ah_waiting_list
        - Src:             'lib/roles/http/parsers.c:320,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:320,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:325,2'
          Dst:             time
        - Src:             'lib/roles/http/parsers.c:331,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:331,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:340,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:342,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:362,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:362,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:382,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:382,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:389,2'
          Dst:             __lws_header_table_reset
        - Src:             'lib/roles/http/parsers.c:400,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:400,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:405,3'
          Dst:             _lws_change_pollfd
        - Src:             'lib/roles/http/parsers.c:418,8'
          Dst:             lws_http_client_connect_via_info2
        - Src:             'lib/roles/http/parsers.c:429,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:432,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:432,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:438,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:439,2'
          Dst:             _lws_destroy_ah
    - functionName:    __lws_remove_from_ah_waiting_list
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 185
      functionLinenumberEnd: 204
      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:191,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:191,4'
          Dst:             _lws_log
    - functionName:    __lws_header_table_reset
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 146
      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:116,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:118,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:120,2'
          Dst:             _lws_header_table_reset
        - Src:             'lib/roles/http/parsers.c:126,2'
          Dst:             __lws_set_timeout
        - Src:             'lib/roles/http/parsers.c:129,2'
          Dst:             time
        - Src:             'lib/roles/http/parsers.c:132,6'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/http/parsers.c:134,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:143,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:144,3'
          Dst:             lws_service_fd_tsi
    - functionName:    _lws_destroy_ah
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          83
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
        - lws_realloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:74,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:78,5'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/parsers.c:79,4'
          Dst:             lws_realloc
    - functionName:    _lws_header_table_reset
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          38
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _lws_create_ah
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 65
      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:45,33'
          Dst:             lws_zalloc
        - Src:             'lib/roles/http/parsers.c:50,13'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/parsers.c:52,3'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/parsers.c:61,2'
          Dst:             _lws_log
    - functionName:    _lws_header_ensure_we_are_on_waiting_list
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 162
      functionLinenumberEnd: 181
      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:173,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:173,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:180,2'
          Dst:             _lws_change_pollfd
    - functionName:    lws_header_table_attach
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 208
      functionLinenumberEnd: 304
      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:219,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:219,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:224,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:225,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:233,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:250,3'
          Dst:             _lws_header_ensure_we_are_on_waiting_list
        - Src:             'lib/roles/http/parsers.c:255,2'
          Dst:             __lws_remove_from_ah_waiting_list
        - Src:             'lib/roles/http/parsers.c:257,17'
          Dst:             _lws_create_ah
        - Src:             'lib/roles/http/parsers.c:259,3'
          Dst:             _lws_header_ensure_we_are_on_waiting_list
        - Src:             'lib/roles/http/parsers.c:276,2'
          Dst:             _lws_change_pollfd
        - Src:             'lib/roles/http/parsers.c:278,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:278,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:282,2'
          Dst:             __lws_header_table_reset
        - Src:             'lib/roles/http/parsers.c:291,8'
          Dst:             lws_http_client_connect_via_info2
    - functionName:    lws_header_table_reset
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 158
      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:155,2'
          Dst:             __lws_header_table_reset
    - functionName:    lws_chunked_html_process
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3457
      functionLinenumberEnd: 3551
      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:3470,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3483,10'
          Dst:             strncmp
        - Src:             'lib/roles/http/server/server.c:3496,36'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:3500,14'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:3526,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: 3435
      functionLinenumberEnd: 3451
      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:3441,6'
          Dst:             gethostname
        - Src:             'lib/roles/http/server/server.c:3443,3'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/server/server.c:3446,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/http/server/server.c:3446,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/server/server.c:3446,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: 3128
      functionLinenumberEnd: 3427
      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:3142,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3148,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/server/server.c:3149,8'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/http/server/server.c:3150,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3228,10'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/http/server/server.c:3257,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:3257,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3287,7'
          Dst:             lws_vfs_file_read
        - Src:             'lib/roles/http/server/server.c:3295,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3298,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:3308,9'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/http/server/server.c:3329,8'
          Dst:             lws_write
        - Src:             'lib/roles/http/server/server.c:3355,9'
          Dst:             lws_vfs_file_seek_cur
        - Src:             'lib/roles/http/server/server.c:3363,9'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/server/server.c:3375,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:3377,4'
          Dst:             lws_vfs_file_close
        - Src:             'lib/roles/http/server/server.c:3379,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3382,8'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/http/server/server.c:3407,5'
          Dst:             lws_header_table_reset
        - Src:             'lib/roles/http/server/server.c:3417,12'
          Dst:             lws_send_pipe_choked
        - Src:             'lib/roles/http/server/server.c:3419,2'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/server/server.c:3424,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: 688
      functionLinenumberEnd: 701
      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:691,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:694,13'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:694,6'
          Dst:             strstr
        - Src:             'lib/roles/http/server/server.c:696,3'
          Dst:             _lws_log
    - functionName:    lws_serve_http_file
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2823
      functionLinenumberEnd: 3122
      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:2824,32'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/server/server.c:2853,10'
          Dst:             lws_vfs_select_fops
        - Src:             'lib/roles/http/server/server.c:2854,13'
          Dst:             lws_vfs_prepare_flags
        - Src:             'lib/roles/http/server/server.c:2858,4'
          Dst:             __errno_location
        - Src:             'lib/roles/http/server/server.c:2858,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2860,8'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2871,22'
          Dst:             lws_vfs_get_length
        - Src:             'lib/roles/http/server/server.c:2900,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/server/server.c:2906,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:2910,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2936,13'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:2933,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:3019,8'
          Dst:             lws_add_http_header_content_length
        - Src:             'lib/roles/http/server/server.c:3058,11'
          Dst:             sprintf
        - Src:             'lib/roles/http/server/server.c:3063,12'
          Dst:             sprintf
        - Src:             'lib/roles/http/server/server.c:3068,12'
          Dst:             sprintf
        - Src:             'lib/roles/http/server/server.c:3077,8'
          Dst:             strstr
        - Src:             'lib/roles/http/server/server.c:3078,8'
          Dst:             strstr
        - Src:             'lib/roles/http/server/server.c:3079,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:3092,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/server/server.c:3095,8'
          Dst:             lws_write
        - Src:             'lib/roles/http/server/server.c:3097,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3103,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:3105,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:3107,3'
          Dst:             lws_vfs_file_close
        - Src:             'lib/roles/http/server/server.c:3108,7'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:3114,2'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/server/server.c:3119,2'
          Dst:             lws_vfs_file_close
    - functionName:    lws_http_transaction_completed
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2611
      functionLinenumberEnd: 2817
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         63
      ICount:          440
      EdgeCount:       87
      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_set_timeout
        - lws_vfs_file_close
        - lws_wsi_keepalive_timeout_eff
        - lws_wsi_tag
        - lwsi_set_state
      functionUses:    18
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:2615,6'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/server/server.c:2629,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2629,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2632,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/server/server.c:2654,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:2668,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2668,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2683,3'
          Dst:             lws_get_peer_simple
        - Src:             'lib/roles/http/server/server.c:2688,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2714,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2714,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2718,6'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:2727,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2727,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2729,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:2740,3'
          Dst:             lws_vfs_file_close
        - Src:             'lib/roles/http/server/server.c:2752,29'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/http/server/server.c:2752,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:2769,8'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/http/server/server.c:2770,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2770,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2772,4'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/http/server/server.c:2784,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2790,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2790,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2792,4'
          Dst:             lws_header_table_reset
        - Src:             'lib/roles/http/server/server.c:2799,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:2808,7'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/http/server/server.c:2809,8'
          Dst:             lws_header_table_attach
        - Src:             'lib/roles/http/server/server.c:2810,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2812,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2812,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2814,2'
          Dst:             lws_callback_on_writable
    - functionName:    lws_handshake_server
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2286
      functionLinenumberEnd: 2606
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         118
      ICount:          772
      EdgeCount:       161
      CyclomaticComplexity: 45
      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_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:2287,32'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/server/server.c:2300,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2301,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/server/server.c:2305,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2306,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/server/server.c:2311,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2317,7'
          Dst:             lws_parse
        - Src:             'lib/roles/http/server/server.c:2318,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2336,8'
          Dst:             lws_http_to_fallback
        - Src:             'lib/roles/http/server/server.c:2337,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2346,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2357,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2362,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2365,5'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:2363,30'
          Dst:             lws_select_vhost
        - Src:             'lib/roles/http/server/server.c:2368,5'
          Dst:             lws_vhost_bind_wsi
        - Src:             'lib/roles/http/server/server.c:2370,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2383,8'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:2391,11'
          Dst:             strstr
        - Src:             'lib/roles/http/server/server.c:2396,12'
          Dst:             strchr
        - Src:             'lib/roles/http/server/server.c:2400,21'
          Dst:             atoi
        - Src:             'lib/roles/http/server/server.c:2399,6'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2434,8'
          Dst:             lws_http_get_uri_and_method
        - Src:             'lib/roles/http/server/server.c:2436,11'
          Dst:             lws_find_mount
        - Src:             'lib/roles/http/server/server.c:2438,10'
          Dst:             lws_http_redirect_hit
        - Src:             'lib/roles/http/server/server.c:2448,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2449,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2453,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:2454,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:2456,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2458,21'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:2461,8'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:2462,8'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:2463,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2465,9'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2467,9'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:2470,9'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/http/server/server.c:2482,13'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:2494,6'
          Dst:             lws_confirm_host_header
        - Src:             'lib/roles/http/server/server.c:2497,10'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:2500,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2505,10'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:2507,9'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2516,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2516,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2518,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:2527,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2527,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2530,7'
          Dst:             lws_http_action
        - Src:             'lib/roles/http/server/server.c:2536,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2537,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2541,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2543,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:2545,7'
          Dst:             lws_b64_decode_string
        - Src:             'lib/roles/http/server/server.c:2547,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2556,3'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/server/server.c:2563,18'
          Dst:             lws_zalloc
        - Src:             'lib/roles/http/server/server.c:2568,3'
          Dst:             lws_h2_init
        - Src:             'lib/roles/http/server/server.c:2572,3'
          Dst:             lws_h2_settings
        - Src:             'lib/roles/http/server/server.c:2574,7'
          Dst:             lws_hpack_dynamic_size
        - Src:             'lib/roles/http/server/server.c:2578,3'
          Dst:             strcpy
        - Src:             'lib/roles/http/server/server.c:2581,12'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:2582,7'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/http/server/server.c:2584,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2592,7'
          Dst:             lws_process_ws_upgrade
        - Src:             'lib/roles/http/server/server.c:2603,2'
          Dst:             lws_header_table_detach
    - functionName:    lws_http_to_fallback
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2233
      functionLinenumberEnd: 2282
      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:2241,6'
          Dst:             lws_role_by_name
        - Src:             'lib/roles/http/server/server.c:2242,10'
          Dst:             lws_role_by_name
        - Src:             'lib/roles/http/server/server.c:2245,8'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/server/server.c:2251,2'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:2253,2'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/server/server.c:2255,2'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/http/server/server.c:2256,2'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:2264,2'
          Dst:             lws_get_peer_simple
        - Src:             'lib/roles/http/server/server.c:2267,2'
          Dst:             _lws_log
    - functionName:    lws_select_vhost
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 553
      functionLinenumberEnd: 611
      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:558,11'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:560,6'
          Dst:             strchr
        - Src:             'lib/roles/http/server/server.c:568,8'
          Dst:             strncmp
        - Src:             'lib/roles/http/server/server.c:569,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:584,16'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:588,8'
          Dst:             strncmp
        - Src:             'lib/roles/http/server/server.c:589,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:601,4'
          Dst:             _lws_log
    - functionName:    lws_http_get_uri_and_method
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1169
      functionLinenumberEnd: 1199
      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:1173,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1176,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1184,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1187,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1192,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1193,16'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1194,16'
          Dst:             lws_hdr_total_length
    - functionName:    lws_find_mount
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 991
      functionLinenumberEnd: 1035
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         49
      ICount:          272
      EdgeCount:       68
      CyclomaticComplexity: 21
      functionsReached:
        - lws_hdr_total_length
        - strncmp
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:998,8'
          Dst:             strncmp
        - Src:             'lib/roles/http/server/server.c:1012,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1013,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1015,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1016,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1017,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1019,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1022,5'
          Dst:             lws_hdr_total_length
    - functionName:    lws_http_redirect_hit
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1585
      functionLinenumberEnd: 1665
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          282
      EdgeCount:       50
      CyclomaticComplexity: 15
      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:1621,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1626,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:1630,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1632,10'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1638,28'
          Dst:             lws_is_ssl
        - Src:             'lib/roles/http/server/server.c:1639,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1637,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:1645,28'
          Dst:             lws_is_ssl
        - Src:             'lib/roles/http/server/server.c:1646,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1644,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:1650,3'
          Dst:             lws_clean_url
        - Src:             'lib/roles/http/server/server.c:1651,7'
          Dst:             lws_http_redirect
        - Src:             'lib/roles/http/server/server.c:1656,10'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:1662,2'
          Dst:             lws_header_table_detach
    - 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: 2161
      functionLinenumberEnd: 2228
      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:2172,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2173,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2183,6'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:2185,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2189,2'
          Dst:             lws_tokenize_init
        - Src:             'lib/roles/http/server/server.c:2193,6'
          Dst:             lws_tokenize
        - Src:             'lib/roles/http/server/server.c:2196,6'
          Dst:             strncmp
        - Src:             'lib/roles/http/server/server.c:2198,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2203,6'
          Dst:             lws_tokenize
        - Src:             'lib/roles/http/server/server.c:2205,7'
          Dst:             lws_tokenize
        - Src:             'lib/roles/http/server/server.c:2208,11'
          Dst:             atoi
        - Src:             'lib/roles/http/server/server.c:2215,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2220,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2225,2'
          Dst:             _lws_log
    - functionName:    lws_http_action
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1669
      functionLinenumberEnd: 2157
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         186
      ICount:          1500
      EdgeCount:       253
      CyclomaticComplexity: 69
      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_hdr_copy
        - lws_hdr_copy_fragment
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_header_table_detach
        - 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:1705,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/http/server/server.c:1894,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:1685,9'
          Dst:             lws_http_get_uri_and_method
        - Src:             'lib/roles/http/server/server.c:1695,3'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:1700,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1716,6'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/http/server/server.c:1723,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1726,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1727,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1732,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1733,6'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:1737,20'
          Dst:             atoll
        - Src:             'lib/roles/http/server/server.c:1740,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1751,22'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1753,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:1768,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1769,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:1772,9'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:1775,10'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:1784,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1793,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:1807,21'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1811,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1814,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:1815,13'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1827,10'
          Dst:             lws_hdr_copy_fragment
        - Src:             'lib/roles/http/server/server.c:1831,9'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:1840,21'
          Dst:             lws_http_redirect
        - Src:             'lib/roles/http/server/server.c:1845,10'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:1859,8'
          Dst:             lws_find_mount
        - Src:             'lib/roles/http/server/server.c:1863,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1865,7'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:1869,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:1886,20'
          Dst:             lws_http_redirect_hit
        - Src:             'lib/roles/http/server/server.c:1894,10'
          Dst:             lws_check_basic_auth
        - Src:             'lib/roles/http/server/server.c:1899,10'
          Dst:             lws_unauthorised_basic_auth
        - Src:             'lib/roles/http/server/server.c:1901,3'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:1902,10'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:1939,8'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/server/server.c:1941,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1946,7'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:1949,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1962,4'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:1974,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2035,7'
          Dst:             lws_http_serve
        - Src:             'lib/roles/http/server/server.c:2045,6'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/server/server.c:2051,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:2053,8'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:2067,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2087,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2092,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2119,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:2120,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2120,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2136,19'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/http/server/server.c:2141,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2142,7'
          Dst:             lws_read_h1
        - Src:             'lib/roles/http/server/server.c:2146,7'
          Dst:             lws_buflist_aware_finished_consuming
        - Src:             'lib/roles/http/server/server.c:2154,2'
          Dst:             lws_header_table_detach
    - functionName:    lws_check_basic_auth
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1222
      functionLinenumberEnd: 1309
      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:1272,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:1232,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1240,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1244,6'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:1247,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1252,6'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:1253,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1259,6'
          Dst:             lws_b64_decode_string
        - Src:             'lib/roles/http/server/server.c:1261,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1266,11'
          Dst:             strchr
        - Src:             'lib/roles/http/server/server.c:1268,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1274,7'
          Dst:             lws_find_string_in_file
        - Src:             'lib/roles/http/server/server.c:1276,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1298,2'
          Dst:             lws_authorization_rewrite
        - Src:             'lib/roles/http/server/server.c:1300,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/server/server.c:1300,2'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1300,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/server/server.c:1300,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_unauthorised_basic_auth
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1088
      functionLinenumberEnd: 1119
      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:1097,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/server/server.c:1100,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:1101,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:1106,6'
          Dst:             lws_add_http_header_content_length
        - Src:             'lib/roles/http/server/server.c:1109,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/server/server.c:1112,6'
          Dst:             lws_write
        - Src:             'lib/roles/http/server/server.c:1117,9'
          Dst:             lws_http_transaction_completed
    - functionName:    lws_http_serve
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 706
      functionLinenumberEnd: 985
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         122
      ICount:          955
      EdgeCount:       168
      CyclomaticComplexity: 48
      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:735,7'
          Dst:             strcmp
        - Src:             'lib/roles/http/server/server.c:739,2'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:743,12'
          Dst:             lws_vfs_prepare_flags
        - Src:             'lib/roles/http/server/server.c:747,10'
          Dst:             lws_vfs_select_fops
        - Src:             'lib/roles/http/server/server.c:750,4'
          Dst:             lws_vfs_file_close
        - Src:             'lib/roles/http/server/server.c:755,4'
          Dst:             __errno_location
        - Src:             'lib/roles/http/server/server.c:755,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:768,7'
          Dst:             fstat
        - Src:             'lib/roles/http/server/server.c:769,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:795,18'
          Dst:             readlink
        - Src:             'lib/roles/http/server/server.c:797,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:801,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:802,4'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:806,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:807,4'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:814,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:817,27'
          Dst:             lws_vfs_get_length
        - Src:             'lib/roles/http/server/server.c:818,22'
          Dst:             lws_vfs_get_mod_time
        - Src:             'lib/roles/http/server/server.c:816,6'
          Dst:             sprintf
        - Src:             'lib/roles/http/server/server.c:822,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:823,19'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:823,7'
          Dst:             strcmp
        - Src:             'lib/roles/http/server/server.c:827,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:832,20'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:832,8'
          Dst:             strcmp
        - Src:             'lib/roles/http/server/server.c:838,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:842,8'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/server/server.c:844,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:849,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:859,14'
          Dst:             sprintf
        - Src:             'lib/roles/http/server/server.c:865,49'
          Dst:             sprintf
        - Src:             'lib/roles/http/server/server.c:872,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:877,8'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/server/server.c:880,8'
          Dst:             lws_write
        - Src:             'lib/roles/http/server/server.c:884,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:889,4'
          Dst:             lws_vfs_file_close
        - Src:             'lib/roles/http/server/server.c:891,8'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:898,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:903,13'
          Dst:             lws_get_mimetype
        - Src:             'lib/roles/http/server/server.c:905,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:906,7'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:908,7'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:914,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:924,12'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:925,16'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:926,39'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:926,8'
          Dst:             strcmp
        - Src:             'lib/roles/http/server/server.c:932,5'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/server/server.c:934,6'
          Dst:             lws_get_vhost
        - Src:             'lib/roles/http/server/server.c:936,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:940,8'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:944,8'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/http/server/server.c:952,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:960,36'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/server/server.c:963,7'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:974,6'
          Dst:             lws_serve_http_file
        - Src:             'lib/roles/http/server/server.c:977,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: 641
      functionLinenumberEnd: 683
      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:643,13'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:655,9'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:656,19'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:657,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:667,9'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:668,19'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:669,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:677,3'
          Dst:             _lws_log
    - functionName:    lws_find_string_in_file
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1041
      functionLinenumberEnd: 1081
      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:1045,7'
          Dst:             lws_open
        - Src:             'lib/roles/http/server/server.c:1047,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1053,13'
          Dst:             read
        - Src:             'lib/roles/http/server/server.c:1078,2'
          Dst:             close
    - functionName:    lws_authorization_rewrite
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1205
      functionLinenumberEnd: 1217
      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:1206,12'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1213,2'
          Dst:             strncpy
    - functionName:    lws_clean_url
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1124
      functionLinenumberEnd: 1148
      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: 451
      functionLinenumberEnd: 547
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          172
      EdgeCount:       39
      CyclomaticComplexity: 12
      functionsReached:
        - _lws_log
        - _lws_vhost_init_server_af
        - lws_parse_numeric_address
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:500,7'
          Dst:             lws_parse_numeric_address
        - Src:             'lib/roles/http/server/server.c:514,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:531,7'
          Dst:             _lws_vhost_init_server_af
        - Src:             'lib/roles/http/server/server.c:546,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: 445
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         124
      ICount:          939
      EdgeCount:       166
      CyclomaticComplexity: 44
      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:226,13'
          Dst:             dup
        - Src:             'lib/roles/http/server/server.c:233,6'
          Dst:             socket
        - Src:             'lib/roles/http/server/server.c:236,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:263,7'
          Dst:             setsockopt
        - Src:             'lib/roles/http/server/server.c:265,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:266,4'
          Dst:             close
        - Src:             'lib/roles/http/server/server.c:296,8'
          Dst:             setsockopt
        - Src:             'lib/roles/http/server/server.c:298,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:304,3'
          Dst:             lws_plat_set_socket_options
        - Src:             'lib/roles/http/server/server.c:307,9'
          Dst:             lws_socket_bind
        - Src:             'lib/roles/http/server/server.c:313,5'
          Dst:             close
        - Src:             'lib/roles/http/server/server.c:324,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:325,5'
          Dst:             close
        - Src:             'lib/roles/http/server/server.c:337,9'
          Dst:             __lws_wsi_create_with_role
        - Src:             'lib/roles/http/server/server.c:340,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:353,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:358,3'
          Dst:             lws_vhost_bind_wsi
        - Src:             'lib/roles/http/server/server.c:367,7'
          Dst:             __insert_wsi_socket_into_fds
        - Src:             'lib/roles/http/server/server.c:368,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:373,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/http/server/server.c:375,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/roles/http/server/server.c:396,8'
          Dst:             setsockopt
        - Src:             'lib/roles/http/server/server.c:398,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:403,7'
          Dst:             listen
        - Src:             'lib/roles/http/server/server.c:405,4'
          Dst:             __errno_location
        - Src:             'lib/roles/http/server/server.c:405,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:406,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/http/server/server.c:407,4'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/roles/http/server/server.c:415,4'
          Dst:             __lws_lc_tag
        - Src:             'lib/roles/http/server/server.c:428,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:431,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:441,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:442,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: 559
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         91
      ICount:          566
      EdgeCount:       126
      CyclomaticComplexity: 37
      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_wsi_tag
        - lwsi_set_state
        - user_callback_handle_rxflow
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/roles/h1/ops-h1.c:395,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h1/ops-h1.c:376,24'
          Dst:             lws_header_table_attach
        - Src:             'lib/roles/h1/ops-h1.c:377,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h1/ops-h1.c:377,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:394,14'
          Dst:             lws_buflist_aware_read
        - Src:             'lib/roles/h1/ops-h1.c:397,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:399,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/h1/ops-h1.c:425,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:431,8'
          Dst:             lws_buflist_aware_finished_consuming
        - Src:             'lib/roles/h1/ops-h1.c:444,8'
          Dst:             lws_read_h2
        - Src:             'lib/roles/h1/ops-h1.c:447,8'
          Dst:             lws_read_h1
        - Src:             'lib/roles/h1/ops-h1.c:453,7'
          Dst:             lws_buflist_aware_finished_consuming
        - Src:             'lib/roles/h1/ops-h1.c:466,4'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/h1/ops-h1.c:495,6'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/h1/ops-h1.c:496,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:504,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:506,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h1/ops-h1.c:507,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/h1/ops-h1.c:508,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:518,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/h1/ops-h1.c:520,8'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/h1/ops-h1.c:521,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:527,7'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/h1/ops-h1.c:531,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:546,6'
          Dst:             lws_serve_http_file_fragment
        - Src:             'lib/roles/h1/ops-h1.c:555,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: 1097
      functionLinenumberEnd: 1113
      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: 565
      functionLinenumberEnd: 710
      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:580,10'
          Dst:             lws_ssl_capable_read
        - Src:             'lib/roles/h1/ops-h1.c:636,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h1/ops-h1.c:636,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:640,8'
          Dst:             lws_buflist_total_len
        - Src:             'lib/roles/h1/ops-h1.c:643,8'
          Dst:             lws_h1_server_socket_service
        - Src:             'lib/roles/h1/ops-h1.c:647,8'
          Dst:             lws_server_socket_service_ssl
        - Src:             'lib/roles/h1/ops-h1.c:672,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/h1/ops-h1.c:680,7'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/h1/ops-h1.c:683,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:696,6'
          Dst:             lws_handle_POLLOUT_event
        - Src:             'lib/roles/h1/ops-h1.c:697,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:701,6'
          Dst:             lws_http_client_socket_service
    - functionName:    rops_handle_POLLOUT_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 714
      functionLinenumberEnd: 779
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          49
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rops_write_role_protocol_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 784
      functionLinenumberEnd: 848
      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:841,6'
          Dst:             lws_issue_raw
    - functionName:    rops_alpn_negotiated_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 852
      functionLinenumberEnd: 867
      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:853,2'
          Dst:             _lws_log
    - functionName:    rops_close_kill_connection_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1078
      functionLinenumberEnd: 1090
      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: 872
      functionLinenumberEnd: 901
      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:877,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:878,2'
          Dst:             __lws_header_table_detach
        - Src:             'lib/roles/h1/ops-h1.c:884,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h1/ops-h1.c:884,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:899,2'
          Dst:             lws_realloc
    - functionName:    rops_adoption_bind_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 908
      functionLinenumberEnd: 964
      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:916,8'
          Dst:             lws_header_table_attach
        - Src:             'lib/roles/h1/ops-h1.c:917,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:919,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:927,3'
          Dst:             lws_role_transition
        - Src:             'lib/roles/h1/ops-h1.c:937,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:939,3'
          Dst:             lws_role_call_alpn_negotiated
        - Src:             'lib/roles/h1/ops-h1.c:943,3'
          Dst:             lws_role_transition
        - Src:             'lib/roles/h1/ops-h1.c:960,2'
          Dst:             lws_set_timeout
    - functionName:    rops_client_bind_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 987
      functionLinenumberEnd: 1073
      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:998,8'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/h1/ops-h1.c:1019,7'
          Dst:             lws_header_table_attach
        - Src:             'lib/roles/h1/ops-h1.c:1046,7'
          Dst:             lws_create_client_ws_object
        - Src:             'lib/roles/h1/ops-h1.c:1058,6'
          Dst:             _lws_is_http_method
        - Src:             'lib/roles/h1/ops-h1.c:1067,2'
          Dst:             lws_role_transition
    - functionName:    _lws_is_http_method
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 976
      functionLinenumberEnd: 983
      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:979,9'
          Dst:             strcmp
    - functionName:    lws_h2_client_stream_long_poll_rxonly
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2919
      functionLinenumberEnd: 2936
      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:2933,2'
          Dst:             lws_callback_on_writable
    - functionName:    lws_read_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2842
      functionLinenumberEnd: 2915
      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:2866,4'
          Dst:             lws_rxflow_cache
        - Src:             'lib/roles/h2/http2.c:2893,7'
          Dst:             lws_h2_parser
        - Src:             'lib/roles/h2/http2.c:2898,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2899,4'
          Dst:             lws_close_free_wsi
    - functionName:    lws_h2_parser
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2024
      functionLinenumberEnd: 2526
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         187
      ICount:          1560
      EdgeCount:       238
      CyclomaticComplexity: 53
      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:2037,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/http2.c:2125,4'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/http2.c:2150,5'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/http2.c:2461,5'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:2045,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:2045,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2046,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:2047,4'
          Dst:             lws_validity_confirmed
        - Src:             'lib/roles/h2/http2.c:2056,10'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:2059,4'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:2091,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2101,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2109,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2117,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2133,5'
          Dst:             lws_h2_settings
        - Src:             'lib/roles/h2/http2.c:2142,9'
          Dst:             lws_hpack_interpret
        - Src:             'lib/roles/h2/http2.c:2143,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2192,7'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h2/http2.c:2190,6'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/http2.c:2197,9'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/h2/http2.c:2199,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2204,6'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:2205,6'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:2205,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2215,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2222,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2230,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2246,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2252,7'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:2252,7'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2258,7'
          Dst:             lws_wsi_txc_describe
        - Src:             'lib/roles/h2/http2.c:2261,10'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/h2/http2.c:2274,7'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2283,10'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/roles/h2/http2.c:2301,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2312,9'
          Dst:             lws_read_h1
        - Src:             'lib/roles/h2/http2.c:2320,57'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/h2/http2.c:2322,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2335,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2366,6'
          Dst:             lws_h2_update_peer_txcredit_thresh
        - Src:             'lib/roles/h2/http2.c:2377,6'
          Dst:             lws_h2_update_peer_txcredit
        - Src:             'lib/roles/h2/http2.c:2390,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2394,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2428,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2436,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2447,8'
          Dst:             lws_h2_parse_end_of_frame
        - Src:             'lib/roles/h2/http2.c:2493,8'
          Dst:             lws_h2_parse_frame_header
        - Src:             'lib/roles/h2/http2.c:2512,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:    55
      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:         48
      ICount:          338
      EdgeCount:       62
      CyclomaticComplexity: 16
      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: 1455
      functionLinenumberEnd: 2003
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         229
      ICount:          1874
      EdgeCount:       305
      CyclomaticComplexity: 78
      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:1475,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/http2.c:1649,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/http2.c:1732,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:1465,15'
          Dst:             lws_wsi_mux_from_id
        - Src:             'lib/roles/h2/http2.c:1471,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1488,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1497,16'
          Dst:             __lws_wsi_server_new
        - Src:             'lib/roles/h2/http2.c:1506,4'
          Dst:             lws_wsi_mux_from_id
        - Src:             'lib/roles/h2/http2.c:1506,4'
          Dst:             __assert_fail
        - Src:             'lib/roles/h2/http2.c:1512,4'
          Dst:             lws_role_transition
        - Src:             'lib/roles/h2/http2.c:1539,45'
          Dst:             lws_get_opaque_user_data
        - Src:             'lib/roles/h2/http2.c:1554,5'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/http2.c:1564,4'
          Dst:             lws_strncpy
        - Src:             'lib/roles/h2/http2.c:1574,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1574,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1574,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1578,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1578,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1588,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1588,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1594,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:1599,11'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:1602,5'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:1603,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1609,4'
          Dst:             lws_wsi_mux_apply_queue
        - Src:             'lib/roles/h2/http2.c:1623,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1630,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1640,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1643,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1651,4'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1654,4'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1658,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1658,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1658,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1664,7'
          Dst:             lws_client_interpret_server_handshake
        - Src:             'lib/roles/h2/http2.c:1674,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1679,7'
          Dst:             lws_hdr_extant
        - Src:             'lib/roles/h2/http2.c:1680,23'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:1685,60'
          Dst:             atoll
        - Src:             'lib/roles/h2/http2.c:1689,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1699,9'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/h2/http2.c:1705,11'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:1711,9'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/h2/http2.c:1713,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1718,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1727,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1734,4'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1738,5'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1746,5'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1764,4'
          Dst:             lws_h2_rst_stream
        - Src:             'lib/roles/h2/http2.c:1767,8'
          Dst:             lws_http_transaction_completed_client
        - Src:             'lib/roles/h2/http2.c:1768,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1773,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1773,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1780,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:1781,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:1782,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:1783,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:1784,8'
          Dst:             lws_hdr_extant
        - Src:             'lib/roles/h2/http2.c:1785,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1790,7'
          Dst:             lws_hdr_extant
        - Src:             'lib/roles/h2/http2.c:1791,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:1794,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:1795,16'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:1795,8'
          Dst:             strncmp
        - Src:             'lib/roles/h2/http2.c:1797,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1807,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:1813,14'
          Dst:             strcasecmp
        - Src:             'lib/roles/h2/http2.c:1821,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1823,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:1824,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:1829,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1833,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:1838,4'
          Dst:             lws_h2_rst_stream
        - Src:             'lib/roles/h2/http2.c:1845,4'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1850,4'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1860,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1860,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1864,5'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1875,5'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1877,5'
          Dst:             lws_h2_rst_stream
        - Src:             'lib/roles/h2/http2.c:1880,9'
          Dst:             lws_http_transaction_completed_client
        - Src:             'lib/roles/h2/http2.c:1881,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1889,4'
          Dst:             lws_validity_confirmed
        - Src:             'lib/roles/h2/http2.c:1893,6'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:1897,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1900,4'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:1910,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1920,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1933,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1938,5'
          Dst:             lws_h2_rst_stream
        - Src:             'lib/roles/h2/http2.c:1942,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1948,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1955,3'
          Dst:             lws_wsi_txc_report_manual_txcr_in
        - Src:             'lib/roles/h2/http2.c:1958,3'
          Dst:             lws_wsi_txc_describe
        - Src:             'lib/roles/h2/http2.c:1971,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:1976,11'
          Dst:             lws_h2_tx_cr_get
        - Src:             'lib/roles/h2/http2.c:1975,8'
          Dst:             lws_wsi_txc_check_skint
        - Src:             'lib/roles/h2/http2.c:1981,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:1986,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/h2/http2.c:1986,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/h2/http2.c:1986,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/h2/http2.c:1993,3'
          Dst:             _lws_log
    - functionName:    lws_h2_parse_frame_header
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 965
      functionLinenumberEnd: 1420
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         209
      ICount:          1614
      EdgeCount:       285
      CyclomaticComplexity: 78
      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:1111,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:998,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/http2.c:1001,15'
          Dst:             lws_wsi_mux_from_id
        - Src:             'lib/roles/h2/http2.c:1003,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1003,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1003,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1011,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1026,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1028,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1034,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1034,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1046,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1048,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/h2/http2.c:1048,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/h2/http2.c:1048,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/h2/http2.c:1055,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1059,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1070,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1070,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1072,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1080,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1080,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1090,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1098,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1106,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1113,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1115,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1116,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1119,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1124,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1128,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1133,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1138,4'
          Dst:             lws_h2_parse_end_of_frame
        - Src:             'lib/roles/h2/http2.c:1143,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1145,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1150,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1156,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1157,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1161,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1170,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1175,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1179,3'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1183,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1186,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1193,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1209,11'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:1212,5'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:1220,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1227,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1232,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1238,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1246,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1252,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1260,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1263,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1270,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1278,17'
          Dst:             lws_wsi_mux_from_id
        - Src:             'lib/roles/h2/http2.c:1279,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1279,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1279,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1294,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1308,16'
          Dst:             __lws_wsi_server_new
        - Src:             'lib/roles/h2/http2.c:1315,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1326,8'
          Dst:             lws_h2_update_peer_txcredit
        - Src:             'lib/roles/h2/http2.c:1336,8'
          Dst:             lws_header_table_attach
        - Src:             'lib/roles/h2/http2.c:1337,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1354,5'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/http2.c:1355,4'
          Dst:             __assert_fail
        - Src:             'lib/roles/h2/http2.c:1372,4'
          Dst:             lws_mux_mark_immortal
        - Src:             'lib/roles/h2/http2.c:1373,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1373,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1379,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1386,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1386,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1390,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1399,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1403,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1407,4'
          Dst:             lws_h2_parse_end_of_frame
        - Src:             'lib/roles/h2/http2.c:1409,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1412,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: 2717
      functionLinenumberEnd: 2837
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         49
      ICount:          374
      EdgeCount:       68
      CyclomaticComplexity: 21
      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
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:2725,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/h2/http2.c:2728,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2732,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2734,16'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2736,17'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2736,10'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:2733,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2745,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2763,4'
          Dst:             lws_ss_tag
        - Src:             'lib/roles/h2/http2.c:2763,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:2763,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2774,4'
          Dst:             lws_ss_event_helper
        - Src:             'lib/roles/h2/http2.c:2776,4'
          Dst:             lws_mux_mark_immortal
        - Src:             'lib/roles/h2/http2.c:2781,10'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:2778,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2789,10'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:2787,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2805,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/h2/http2.c:2810,6'
          Dst:             lws_write
        - Src:             'lib/roles/h2/http2.c:2812,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2822,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:2825,12'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2826,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2827,8'
          Dst:             lws_find_mount
        - Src:             'lib/roles/h2/http2.c:2834,2'
          Dst:             lws_validity_confirmed
    - functionName:    lws_h2_client_handshake
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2531
      functionLinenumberEnd: 2711
      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:2534,15'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2535,14'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2536,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:2549,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2560,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:2560,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2564,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2580,10'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:2577,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2583,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2590,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2596,13'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:2607,11'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2612,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2613,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2615,12'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:2630,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2636,8'
          Dst:             lws_http_multipart_headers
        - Src:             'lib/roles/h2/http2.c:2643,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2647,3'
          Dst:             lws_client_http_body_pending
        - Src:             'lib/roles/h2/http2.c:2654,3'
          Dst:             lws_cookie_send_cookies
        - Src:             'lib/roles/h2/http2.c:2662,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/h2/http2.c:2670,42'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/h2/http2.c:2676,6'
          Dst:             lws_write
        - Src:             'lib/roles/h2/http2.c:2679,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2696,6'
          Dst:             lws_h2_update_peer_txcredit
        - Src:             'lib/roles/h2/http2.c:2699,2'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:2700,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:2703,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:2708,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:         68
      ICount:          796
      EdgeCount:       89
      CyclomaticComplexity: 23
      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: 1465
      functionLinenumberEnd: 1478
      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:1471,6'
          Dst:             sprintf
        - Src:             'lib/roles/h2/hpack.c:1472,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: 1453
      functionLinenumberEnd: 1461
      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:1456,9'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/h2/hpack.c:1460,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: 1395
      functionLinenumberEnd: 1448
      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:1402,3'
          Dst:             lws_strncpy
        - Src:             'lib/roles/h2/hpack.c:1405,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1408,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1412,13'
          Dst:             strlen
        - Src:             'lib/roles/h2/hpack.c:1417,29'
          Dst:             strncmp
        - Src:             'lib/roles/h2/hpack.c:1419,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1429,37'
          Dst:             lws_h2_num_start
        - Src:             'lib/roles/h2/hpack.c:1430,6'
          Dst:             lws_h2_num
        - Src:             'lib/roles/h2/hpack.c:1437,24'
          Dst:             tolower
        - Src:             'lib/roles/h2/hpack.c:1439,37'
          Dst:             lws_h2_num_start
        - Src:             'lib/roles/h2/hpack.c:1440,6'
          Dst:             lws_h2_num
    - functionName:    lws_h2_num_start
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1360
      functionLinenumberEnd: 1367
      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: 1372
      functionLinenumberEnd: 1390
      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: 704
      functionLinenumberEnd: 753
      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:708,12'
          Dst:             lws_token_from_index
        - Src:             'lib/roles/h2/hpack.c:711,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:716,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:724,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:727,3'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/h2/hpack.c:727,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:739,6'
          Dst:             lws_frag_start
        - Src:             'lib/roles/h2/hpack.c:744,8'
          Dst:             lws_frag_append
        - Src:             'lib/roles/h2/hpack.c:747,6'
          Dst:             lws_frag_end
        - Src:             'lib/roles/h2/hpack.c:750,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: 799
      functionLinenumberEnd: 822
      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:806,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:813,3'
          Dst:             lws_h2_goaway
    - functionName:    lws_hpack_interpret
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 825
      functionLinenumberEnd: 1354
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         243
      ICount:          1796
      EdgeCount:       319
      CyclomaticComplexity: 78
      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:845,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/hpack.c:925,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/hpack.c:998,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/hpack.c:1075,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/hpack.c:1151,7'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/hpack.c:1267,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:826,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/hpack.c:860,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:861,4'
          Dst:             lws_h2_dynamic_table_dump
        - Src:             'lib/roles/h2/hpack.c:871,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:876,8'
          Dst:             lws_token_from_index
        - Src:             'lib/roles/h2/hpack.c:878,8'
          Dst:             lws_hpack_handle_pseudo_rules
        - Src:             'lib/roles/h2/hpack.c:881,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:882,8'
          Dst:             lws_hpack_use_idx_hdr
        - Src:             'lib/roles/h2/hpack.c:883,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:897,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:906,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:919,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:934,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:941,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:946,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:950,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:953,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:971,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:981,8'
          Dst:             lws_hpack_dynamic_size
        - Src:             'lib/roles/h2/hpack.c:996,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1000,8'
          Dst:             lws_hpack_use_idx_hdr
        - Src:             'lib/roles/h2/hpack.c:1002,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1010,8'
          Dst:             lws_hpack_dynamic_size
        - Src:             'lib/roles/h2/hpack.c:1018,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1042,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1066,8'
          Dst:             lws_token_from_index
        - Src:             'lib/roles/h2/hpack.c:1068,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1088,8'
          Dst:             lws_frag_start
        - Src:             'lib/roles/h2/hpack.c:1089,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1115,32'
          Dst:             huftable_decode
        - Src:             'lib/roles/h2/hpack.c:1119,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1135,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1151,15'
          Dst:             lws_parse_urldecode
        - Src:             'lib/roles/h2/hpack.c:1159,8'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1168,10'
          Dst:             lws_frag_append
        - Src:             'lib/roles/h2/hpack.c:1169,7'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1191,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1194,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1201,9'
          Dst:             lws_parse
        - Src:             'lib/roles/h2/hpack.c:1218,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1220,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1230,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1237,9'
          Dst:             lws_parse
        - Src:             'lib/roles/h2/hpack.c:1274,8'
          Dst:             lws_token_from_index
        - Src:             'lib/roles/h2/hpack.c:1295,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1300,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1314,8'
          Dst:             lws_dynamic_token_insert
        - Src:             'lib/roles/h2/hpack.c:1317,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1326,49'
          Dst:             lws_frag_end
        - Src:             'lib/roles/h2/hpack.c:1338,9'
          Dst:             lws_token_from_index
        - Src:             'lib/roles/h2/hpack.c:1343,4'
          Dst:             lws_dump_header
        - Src:             'lib/roles/h2/hpack.c:1345,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: 679
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         61
      ICount:          468
      EdgeCount:       81
      CyclomaticComplexity: 22
      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:613,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:636,8'
          Dst:             lws_zalloc
        - Src:             'lib/roles/h2/hpack.c:645,3'
          Dst:             lws_dynamic_free
        - Src:             'lib/roles/h2/hpack.c:660,3'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/hpack.c:671,2'
          Dst:             lws_h2_dynamic_table_dump
        - Src:             'lib/roles/h2/hpack.c:676,2'
          Dst:             _lws_log
    - functionName:    lws_hpack_destroy_dynamic_header
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 683
      functionLinenumberEnd: 700
      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:697,4'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/hpack.c:699,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: 815
      functionLinenumberEnd: 944
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         83
      ICount:          535
      EdgeCount:       111
      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:872,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/ops-h2.c:823,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:824,12'
          Dst:             strcmp
        - Src:             'lib/roles/h2/ops-h2.c:828,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/ops-h2.c:829,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:840,5'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:841,5'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/ops-h2.c:839,8'
          Dst:             lws_find_mount
        - Src:             'lib/roles/h2/ops-h2.c:843,2'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:843,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:861,8'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/h2/ops-h2.c:863,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:867,7'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/h2/ops-h2.c:872,11'
          Dst:             lws_check_basic_auth
        - Src:             'lib/roles/h2/ops-h2.c:877,11'
          Dst:             lws_unauthorised_basic_auth
        - Src:             'lib/roles/h2/ops-h2.c:879,4'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/h2/ops-h2.c:880,11'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/h2/ops-h2.c:885,12'
          Dst:             lws_http_get_uri_and_method
        - Src:             'lib/roles/h2/ops-h2.c:901,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:904,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/ops-h2.c:915,17'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/h2/ops-h2.c:923,3'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/roles/h2/ops-h2.c:930,3'
          Dst:             lws_dll2_remove
    - functionName:    rops_issue_keepalive_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1355
      functionLinenumberEnd: 1389
      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:1356,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1358,26'
          Dst:             lws_now_usecs
        - Src:             'lib/roles/h2/ops-h2.c:1361,3'
          Dst:             _lws_validity_confirmed_role
        - Src:             'lib/roles/h2/ops-h2.c:1371,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/h2/ops-h2.c:1373,8'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/ops-h2.c:1386,2'
          Dst:             lws_pps_schedule
    - functionName:    rops_destroy_role_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 659
      functionLinenumberEnd: 691
      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:664,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:664,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:665,2'
          Dst:             __lws_header_table_detach
        - Src:             'lib/roles/h2/ops-h2.c:671,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:671,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:685,3'
          Dst:             lws_hpack_destroy_dynamic_header
        - Src:             'lib/roles/h2/ops-h2.c:688,4'
          Dst:             lws_realloc
    - functionName:    rops_close_kill_connection_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 696
      functionLinenumberEnd: 759
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         40
      ICount:          255
      EdgeCount:       53
      CyclomaticComplexity: 15
      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:712,3'
          Dst:             lws_h2_rst_stream
        - Src:             'lib/roles/h2/ops-h2.c:718,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:718,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:718,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:719,2'
          Dst:             lws_wsi_mux_dump_children
        - Src:             'lib/roles/h2/ops-h2.c:726,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:726,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:726,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:729,30'
          Dst:             lwsl_visible
        - Src:             'lib/roles/h2/ops-h2.c:730,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:730,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:731,4'
          Dst:             lws_wsi_mux_dump_children
        - Src:             'lib/roles/h2/ops-h2.c:733,3'
          Dst:             lws_wsi_mux_close_children
        - Src:             'lib/roles/h2/ops-h2.c:742,4'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/ops-h2.c:754,3'
          Dst:             lws_wsi_mux_sibling_disconnect
        - Src:             'lib/roles/h2/ops-h2.c:756,4'
          Dst:             lws_realloc
    - functionName:    rops_alpn_negotiated_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1311
      functionLinenumberEnd: 1351
      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:1314,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1317,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1328,2'
          Dst:             lws_role_transition
        - Src:             'lib/roles/h2/ops-h2.c:1335,17'
          Dst:             lws_zalloc
        - Src:             'lib/roles/h2/ops-h2.c:1339,2'
          Dst:             lws_h2_init
        - Src:             'lib/roles/h2/ops-h2.c:1343,6'
          Dst:             lws_hpack_dynamic_size
        - Src:             'lib/roles/h2/ops-h2.c:1348,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1348,2'
          Dst:             _lws_log
    - functionName:    rops_check_upgrades_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 541
      functionLinenumberEnd: 575
      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:551,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:553,35'
          Dst:             strcmp
        - Src:             'lib/roles/h2/ops-h2.c:556,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:557,12'
          Dst:             strcmp
        - Src:             'lib/roles/h2/ops-h2.c:560,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:561,2'
          Dst:             lws_mux_mark_immortal
        - Src:             'lib/roles/h2/ops-h2.c:566,6'
          Dst:             lws_process_ws_upgrade
        - Src:             'lib/roles/h2/ops-h2.c:569,2'
          Dst:             _lws_log
    - functionName:    rops_pt_init_destroy_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 597
      functionLinenumberEnd: 617
      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: 581
      functionLinenumberEnd: 590
      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: 377
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         132
      ICount:          806
      EdgeCount:       180
      CyclomaticComplexity: 50
      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_ssl_capable_read
        - lws_ssl_pending
        - lws_wsi_tag
        - lwsi_set_state
        - user_callback_handle_rxflow
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/roles/h2/ops-h2.c:236,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:203,18'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/h2/ops-h2.c:206,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:212,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:212,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:214,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/h2/ops-h2.c:219,7'
          Dst:             lws_ssl_pending
        - Src:             'lib/roles/h2/ops-h2.c:233,13'
          Dst:             lws_ssl_capable_read
        - Src:             'lib/roles/h2/ops-h2.c:238,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:241,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:244,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:257,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:265,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:287,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/h2/ops-h2.c:293,7'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/h2/ops-h2.c:297,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:311,8'
          Dst:             lws_read_h2
        - Src:             'lib/roles/h2/ops-h2.c:313,8'
          Dst:             lws_read_h1
        - Src:             'lib/roles/h2/ops-h2.c:322,13'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/roles/h2/ops-h2.c:323,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:326,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:326,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:328,5'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/h2/ops-h2.c:334,9'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/roles/h2/ops-h2.c:340,6'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:340,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:342,10'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/roles/h2/ops-h2.c:343,7'
          Dst:             lws_dll2_add_head
        - Src:             'lib/roles/h2/ops-h2.c:370,26'
          Dst:             lws_ssl_pending
    - functionName:    rops_handle_POLLOUT_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 381
      functionLinenumberEnd: 421
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          123
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - _lws_log
        - lws_h2_do_pps_send
        - lws_rx_flow_control
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/ops-h2.c:395,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:400,7'
          Dst:             lws_h2_do_pps_send
        - Src:             'lib/roles/h2/ops-h2.c:408,3'
          Dst:             lws_rx_flow_control
    - functionName:    rops_perform_user_POLLOUT_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 962
      functionLinenumberEnd: 1298
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         121
      ICount:          860
      EdgeCount:       167
      CyclomaticComplexity: 48
      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:969,8'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/ops-h2.c:977,2'
          Dst:             lws_wsi_mux_dump_waiting_children
        - Src:             'lib/roles/h2/ops-h2.c:995,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:995,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:997,7'
          Dst:             lws_wsi_mux_move_child_to_tail
        - Src:             'lib/roles/h2/ops-h2.c:1004,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1004,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1010,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/h2/ops-h2.c:1011,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1012,8'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/h2/ops-h2.c:1013,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1014,5'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1019,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/ops-h2.c:1051,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1065,14'
          Dst:             strlen
        - Src:             'lib/roles/h2/ops-h2.c:1063,8'
          Dst:             lws_write
        - Src:             'lib/roles/h2/ops-h2.c:1067,4'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/ops-h2.c:1068,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1076,8'
          Dst:             lws_h2_client_handshake
        - Src:             'lib/roles/h2/ops-h2.c:1093,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/ops-h2.c:1099,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1099,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1101,5'
          Dst:             lws_dll2_add_head
        - Src:             'lib/roles/h2/ops-h2.c:1106,8'
          Dst:             lws_h2_bind_for_post_before_action
        - Src:             'lib/roles/h2/ops-h2.c:1121,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1122,8'
          Dst:             lws_http_action
        - Src:             'lib/roles/h2/ops-h2.c:1124,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1126,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1138,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1139,5'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1155,11'
          Dst:             lws_h2_tx_cr_get
        - Src:             'lib/roles/h2/ops-h2.c:1154,8'
          Dst:             lws_wsi_txc_check_skint
        - Src:             'lib/roles/h2/ops-h2.c:1168,8'
          Dst:             lws_serve_http_file_fragment
        - Src:             'lib/roles/h2/ops-h2.c:1169,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1176,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1176,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1178,5'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1184,9'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/h2/ops-h2.c:1187,5'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/ops-h2.c:1202,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1204,8'
          Dst:             lws_write
        - Src:             'lib/roles/h2/ops-h2.c:1208,5'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/ops-h2.c:1209,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/ops-h2.c:1210,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1229,8'
          Dst:             lws_write
        - Src:             'lib/roles/h2/ops-h2.c:1238,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1240,5'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/ops-h2.c:1241,5'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1247,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/ops-h2.c:1267,9'
          Dst:             rops_write_role_protocol_h2
        - Src:             'lib/roles/h2/ops-h2.c:1269,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1269,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1271,5'
          Dst:             lws_mux_mark_immortal
        - Src:             'lib/roles/h2/ops-h2.c:1273,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1273,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1278,7'
          Dst:             lws_callback_as_writeable
        - Src:             'lib/roles/h2/ops-h2.c:1279,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1281,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1286,5'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/ops-h2.c:1290,29'
          Dst:             lws_send_pipe_choked
        - Src:             'lib/roles/h2/ops-h2.c:1294,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: 764
      functionLinenumberEnd: 810
      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:778,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:785,41'
          Dst:             lws_h2_tx_cr_get
        - Src:             'lib/roles/h2/ops-h2.c:785,6'
          Dst:             lws_wsi_txc_check_skint
        - Src:             'lib/roles/h2/ops-h2.c:790,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:795,16'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/ops-h2.c:797,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: 623
      functionLinenumberEnd: 655
      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:624,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/ops-h2.c:633,11'
          Dst:             lws_h2_update_peer_txcredit
        - Src:             'lib/roles/h2/ops-h2.c:648,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: 426
      functionLinenumberEnd: 536
      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:450,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:513,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:513,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:517,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:524,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:524,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:529,6'
          Dst:             lws_h2_frame_write
    - functionName:    rops_encapsulation_parent_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1302
      functionLinenumberEnd: 1307
      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: 842
      functionLinenumberEnd: 857
      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:846,21'
          Dst:             lws_get_context
        - Src:             'lib/roles/ws/ops-ws.c:846,6'
          Dst:             lws_get_random
        - Src:             'lib/roles/ws/ops-ws.c:848,3'
          Dst:             _lws_log
    - functionName:    lws_is_ws_with_ext
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 991
      functionLinenumberEnd: 993
      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: 2140
      functionLinenumberEnd: 2173
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          136
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - _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:2150,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/ops-ws.c:2151,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:2151,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:2151,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:2154,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:2154,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:2154,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:2161,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:2161,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:2161,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:2162,3'
          Dst:             _lws_validity_confirmed_role
        - Src:             'lib/roles/ws/ops-ws.c:2164,18'
          Dst:             lws_now_usecs
        - Src:             'lib/roles/ws/ops-ws.c:2167,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:2167,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:2167,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:2169,3'
          Dst:             lws_callback_on_writable
    - functionName:    rops_destroy_role_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2128
      functionLinenumberEnd: 2135
      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:2133,2'
          Dst:             lws_realloc
    - functionName:    rops_close_kill_connection_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2022
      functionLinenumberEnd: 2034
      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: 1602
      functionLinenumberEnd: 1649
      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:1638,2'
          Dst:             lws_realloc
    - functionName:    rops_close_via_role_protocol_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1571
      functionLinenumberEnd: 1598
      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:1580,2'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1592,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/ops-ws.c:1593,2'
          Dst:             __lws_set_timeout
        - Src:             'lib/roles/ws/ops-ws.c:1595,2'
          Dst:             lws_callback_on_writable
    - functionName:    rops_write_role_protocol_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1654
      functionLinenumberEnd: 2018
      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:1742,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/ops-ws.c:1827,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/ops-ws.c:1835,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/ops-ws.c:1961,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/ws/ops-ws.c:1715,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1823,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1839,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:1839,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:1839,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:1840,5'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/ops-ws.c:1849,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:1849,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:1849,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:1850,5'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/ops-ws.c:1859,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:1859,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:1859,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:1860,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:1881,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1932,8'
          Dst:             lws_0405_frame_mask_generate
        - Src:             'lib/roles/ws/ops-ws.c:1933,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1951,23'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/ws/ops-ws.c:1953,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/ops-ws.c:1990,8'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/ws/ops-ws.c:2017,9'
          Dst:             lws_issue_raw
    - functionName:    rops_callback_on_writable_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2038
      functionLinenumberEnd: 2054
      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:2046,3'
          Dst:             __assert_fail
    - functionName:    rops_handle_POLLIN_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1002
      functionLinenumberEnd: 1320
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         147
      ICount:          860
      EdgeCount:       200
      CyclomaticComplexity: 55
      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_get_network_wsi
        - lws_handle_POLLOUT_event
        - lws_has_buffered_out
        - 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:1195,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/ws/ops-ws.c:1012,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1036,7'
          Dst:             lws_handle_POLLOUT_event
        - Src:             'lib/roles/ws/ops-ws.c:1037,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1041,7'
          Dst:             lws_http_client_socket_service
        - Src:             'lib/roles/ws/ops-ws.c:1052,6'
          Dst:             lws_handle_POLLOUT_event
        - Src:             'lib/roles/ws/ops-ws.c:1054,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/ops-ws.c:1066,3'
          Dst:             lws_rx_flow_control
        - Src:             'lib/roles/ws/ops-ws.c:1092,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1094,7'
          Dst:             __lws_change_pollfd
        - Src:             'lib/roles/ws/ops-ws.c:1105,10'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/ws/ops-ws.c:1106,15'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/ws/ops-ws.c:1148,18'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/ws/ops-ws.c:1151,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1160,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1192,14'
          Dst:             lws_ssl_capable_read
        - Src:             'lib/roles/ws/ops-ws.c:1197,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1201,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1204,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1238,9'
          Dst:             lws_read_h2
        - Src:             'lib/roles/ws/ops-ws.c:1242,9'
          Dst:             lws_read_h1
        - Src:             'lib/roles/ws/ops-ws.c:1252,8'
          Dst:             lws_buflist_aware_finished_consuming
        - Src:             'lib/roles/ws/ops-ws.c:1266,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1267,3'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/ws/ops-ws.c:1270,26'
          Dst:             lws_ssl_pending
        - Src:             'lib/roles/ws/ops-ws.c:1272,18'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/ws/ops-ws.c:1277,6'
          Dst:             lws_buflist_total_len
        - Src:             'lib/roles/ws/ops-ws.c:1282,7'
          Dst:             lws_is_ws_with_ext
        - Src:             'lib/roles/ws/ops-ws.c:1308,7'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/ws/ops-ws.c:1309,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1314,3'
          Dst:             __lws_rx_flow_control
    - functionName:    rops_init_vhost_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2059
      functionLinenumberEnd: 2100
      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: 2105
      functionLinenumberEnd: 2113
      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: 1540
      functionLinenumberEnd: 1565
      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: 1325
      functionLinenumberEnd: 1536
      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:1344,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1345,3'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/ws/ops-ws.c:1348,7'
          Dst:             lws_write
        - Src:             'lib/roles/ws/ops-ws.c:1353,5'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/ops-ws.c:1354,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/ws/ops-ws.c:1356,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1361,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/ops-ws.c:1381,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/ws/ops-ws.c:1381,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1385,7'
          Dst:             lws_write
        - Src:             'lib/roles/ws/ops-ws.c:1405,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/ws/ops-ws.c:1405,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1410,7'
          Dst:             lws_write
    - functionName:    lws_get_close_payload
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 964
      functionLinenumberEnd: 965
      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: 958
      functionLinenumberEnd: 959
      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: 952
      functionLinenumberEnd: 953
      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: 946
      functionLinenumberEnd: 947
      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: 940
      functionLinenumberEnd: 941
      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: 926
      functionLinenumberEnd: 934
      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: 920
      functionLinenumberEnd: 921
      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: 861
      functionLinenumberEnd: 915
      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:879,21'
          Dst:             lws_realloc
        - Src:             'lib/roles/ws/ops-ws.c:881,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:911,2'
          Dst:             lws_validity_confirmed
        - Src:             'lib/roles/ws/ops-ws.c:912,2'
          Dst:             _lws_log
    - functionName:    lws_remove_wsi_from_draining_ext_list
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 815
      functionLinenumberEnd: 838
      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: 798
      functionLinenumberEnd: 811
      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: 792
      functionLinenumberEnd: 793
      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: 787
      functionLinenumberEnd: 788
      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: 971
      functionLinenumberEnd: 987
      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:975,2'
          Dst:             __assert_fail
    - functionName:    lws_ws_rx_sm
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 782
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         269
      ICount:          2178
      EdgeCount:       343
      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:266,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/ops-ws.c:462,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:227,4'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/ops-ws.c:229,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:236,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:237,4'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/ops-ws.c:256,4'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/ops-ws.c:318,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:410,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/ops-ws.c:413,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:429,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:460,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:474,8'
          Dst:             lws_check_utf8
        - Src:             'lib/roles/ws/ops-ws.c:484,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:491,8'
          Dst:             lws_partial_buffered
        - Src:             'lib/roles/ws/ops-ws.c:498,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:520,8'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/ws/ops-ws.c:528,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:529,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/ops-ws.c:535,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:543,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:549,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:562,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/ws/ops-ws.c:569,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:570,4'
          Dst:             lwsl_hexdump
        - Src:             'lib/roles/ws/ops-ws.c:573,4'
          Dst:             lws_validity_confirmed
        - Src:             'lib/roles/ws/ops-ws.c:585,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:661,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:685,9'
          Dst:             lws_check_utf8
        - Src:             'lib/roles/ws/ops-ws.c:688,6'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/ops-ws.c:702,6'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:703,6'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/ops-ws.c:707,6'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:708,6'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/ws/ops-ws.c:739,7'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:741,13'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/ws/ops-ws.c:775,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: 228
      functionLinenumberEnd: 661
      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:296,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/ws/client-ws.c:247,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:247,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:247,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:253,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:253,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:253,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:260,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:260,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:260,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:266,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/client-ws.c:267,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:267,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:267,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:272,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/client-ws.c:274,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:274,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:274,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:278,2'
          Dst:             strtolower
        - Src:             'lib/roles/ws/client-ws.c:279,6'
          Dst:             strcmp
        - Src:             'lib/roles/ws/client-ws.c:280,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:280,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:280,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:287,2'
          Dst:             lws_tokenize_init
        - Src:             'lib/roles/ws/client-ws.c:289,6'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/ws/client-ws.c:295,7'
          Dst:             lws_tokenize
        - Src:             'lib/roles/ws/client-ws.c:298,9'
          Dst:             strncasecmp
        - Src:             'lib/roles/ws/client-ws.c:307,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:307,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:307,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:313,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/client-ws.c:316,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:316,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:316,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:318,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:318,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:318,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:326,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/client-ws.c:328,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:328,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:328,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:346,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/client-ws.c:347,13'
          Dst:             strlen
        - Src:             'lib/roles/ws/client-ws.c:350,8'
          Dst:             strncmp
        - Src:             'lib/roles/ws/client-ws.c:362,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:362,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:362,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:384,7'
          Dst:             strcmp
        - Src:             'lib/roles/ws/client-ws.c:394,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:394,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:394,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:403,27'
          Dst:             strcmp
        - Src:             'lib/roles/ws/client-ws.c:413,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:413,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:413,5'
          Dst:             lws_log_prepend_wsi
        - 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:422,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:422,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:422,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:434,2'
          Dst:             lws_same_vh_protocol_insert
        - Src:             'lib/roles/ws/client-ws.c:589,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/client-ws.c:590,6'
          Dst:             strcmp
        - Src:             'lib/roles/ws/client-ws.c:591,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:591,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:591,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:598,6'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/ws/client-ws.c:599,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:599,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:599,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:616,2'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/ws/client-ws.c:619,2'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/ws/client-ws.c:621,2'
          Dst:             lws_role_transition
        - Src:             'lib/roles/ws/client-ws.c:622,2'
          Dst:             lws_validity_confirmed
        - Src:             'lib/roles/ws/client-ws.c:635,21'
          Dst:             lws_realloc
        - Src:             'lib/roles/ws/client-ws.c:638,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:638,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:638,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:644,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:644,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:644,2'
          Dst:             lws_log_prepend_wsi
    - 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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_generate_client_ws_handshake
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/client-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 224
      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:148,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/ws/client-ws.c:153,36'
          Dst:             strlen
        - Src:             'lib/roles/ws/client-ws.c:156,2'
          Dst:             lws_strncpy
        - Src:             'lib/roles/ws/client-ws.c:157,7'
          Dst:             strlen
        - Src:             'lib/roles/ws/client-ws.c:158,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/ws/client-ws.c:159,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/client-ws.c:162,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/client-ws.c:160,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/ws/client-ws.c:204,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/ws/client-ws.c:212,6'
          Dst:             strlen
        - Src:             'lib/roles/ws/client-ws.c:217,2'
          Dst:             lws_SHA1
        - Src:             'lib/roles/ws/client-ws.c:219,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: 168
      functionLinenumberEnd: 829
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         236
      ICount:          2118
      EdgeCount:       297
      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:195,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/client-parser-ws.c:200,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/client-parser-ws.c:204,4'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/client-parser-ws.c:297,4'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/client-parser-ws.c:320,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/client-parser-ws.c:520,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/ws/client-parser-ws.c:238,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:238,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:238,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:259,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:259,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:259,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:272,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:272,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:272,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:276,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:276,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:276,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:282,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:282,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:282,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:291,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:291,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:291,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:308,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:308,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:308,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:373,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:373,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:373,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:474,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/client-parser-ws.c:492,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:492,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:492,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:510,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:510,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:510,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:526,8'
          Dst:             lws_check_utf8
        - Src:             'lib/roles/ws/client-parser-ws.c:536,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:536,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:536,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:540,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:540,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:540,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:554,8'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/ws/client-parser-ws.c:566,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:566,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:566,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:567,4'
          Dst:             __lws_change_pollfd
        - Src:             'lib/roles/ws/client-parser-ws.c:568,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/ws/client-parser-ws.c:571,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/client-parser-ws.c:572,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/ws/client-parser-ws.c:577,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:577,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:577,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:589,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:589,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:589,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:595,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:595,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:595,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:608,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/ws/client-parser-ws.c:615,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:615,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:615,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:616,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:616,4'
          Dst:             lwsl_hexdump_level_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:616,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:619,4'
          Dst:             lws_validity_confirmed
        - Src:             'lib/roles/ws/client-parser-ws.c:631,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:631,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:631,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:661,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:661,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:661,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:689,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:689,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:689,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:711,9'
          Dst:             lws_check_utf8
        - Src:             'lib/roles/ws/client-parser-ws.c:714,6'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/client-parser-ws.c:728,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:728,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:728,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:729,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:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:734,6'
          Dst:             lwsl_hexdump_level_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:734,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:754,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:754,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:754,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:790,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:790,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:790,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:808,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:808,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:808,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:815,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:815,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:815,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:821,2'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/client-parser-ws.c:825,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:825,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:825,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: 164
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          220
      EdgeCount:       42
      CyclomaticComplexity: 13
      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:115,10'
          Dst:             lws_ws_client_rx_sm
        - Src:             'lib/roles/ws/client-parser-ws.c:136,10'
          Dst:             _lws_ws_client_rx_payload_passthrough
        - Src:             'lib/roles/ws/client-parser-ws.c:154,5'
          Dst:             lws_close_reason
    - functionName:    lws_ws_frame_rest_is_payload
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/server-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 818
      functionLinenumberEnd: 998
      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:887,2'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:958,7'
          Dst:             lws_check_utf8
        - Src:             'lib/roles/ws/server-ws.c:961,4'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/server-ws.c:969,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:970,4'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/server-ws.c:974,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:975,4'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/ws/server-ws.c:982,7'
          Dst:             user_callback_handle_rxflow
    - functionName:    lws_parse_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/server-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1003
      functionLinenumberEnd: 1112
      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:1008,2'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:1019,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:1030,8'
          Dst:             lws_rxflow_cache
        - Src:             'lib/roles/ws/server-ws.c:1038,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:1065,8'
          Dst:             lws_ws_frame_rest_is_payload
        - Src:             'lib/roles/ws/server-ws.c:1066,4'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/server-ws.c:1074,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:1082,9'
          Dst:             lws_ws_rx_sm
        - Src:             'lib/roles/ws/server-ws.c:1095,9'
          Dst:             lws_ws_rx_sm
        - Src:             'lib/roles/ws/server-ws.c:1100,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:1109,2'
          Dst:             _lws_log
    - functionName:    lws_process_ws_upgrade
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/server-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 449
      functionLinenumberEnd: 644
      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:481,4'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/server-ws.c:605,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/ws/server-ws.c:457,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:470,3'
          Dst:             lws_tokenize_init
        - Src:             'lib/roles/ws/server-ws.c:474,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/ws/server-ws.c:480,8'
          Dst:             lws_tokenize
        - Src:             'lib/roles/ws/server-ws.c:483,10'
          Dst:             strncasecmp
        - Src:             'lib/roles/ws/server-ws.c:492,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:537,2'
          Dst:             lws_tokenize_init
        - Src:             'lib/roles/ws/server-ws.c:541,6'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/ws/server-ws.c:543,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:560,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:566,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:568,3'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/ws/server-ws.c:590,11'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/ws/server-ws.c:593,5'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/ws/server-ws.c:604,7'
          Dst:             lws_tokenize
        - Src:             'lib/roles/ws/server-ws.c:608,8'
          Dst:             lws_tokenize_cstr
        - Src:             'lib/roles/ws/server-ws.c:609,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:613,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:614,11'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/ws/server-ws.c:617,5'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/ws/server-ws.c:627,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:636,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/server-ws.c:636,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/server-ws.c:636,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/server-ws.c:643,9'
          Dst:             lws_process_ws_upgrade2
    - functionName:    lws_process_ws_upgrade2
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/server-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 265
      functionLinenumberEnd: 445
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         44
      ICount:          335
      EdgeCount:       55
      CyclomaticComplexity: 13
      functionsReached:
        - _lws_log
        - atoi
        - handshake_0405
        - lws_check_basic_auth
        - lws_ensure_user_space
        - 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_sul_cancel
        - lws_unauthorised_basic_auth
        - lws_vhost_protocol_options
        - lws_wsi_tag
        - lws_zalloc
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/roles/ws/server-ws.c:285,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/server-ws.c:377,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/ws/server-ws.c:280,9'
          Dst:             lws_vhost_protocol_options
        - Src:             'lib/roles/ws/server-ws.c:282,7'
          Dst:             lws_pvo_get_str
        - Src:             'lib/roles/ws/server-ws.c:284,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:285,11'
          Dst:             lws_check_basic_auth
        - Src:             'lib/roles/ws/server-ws.c:290,11'
          Dst:             lws_unauthorised_basic_auth
        - Src:             'lib/roles/ws/server-ws.c:292,4'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/ws/server-ws.c:293,11'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/ws/server-ws.c:314,3'
          Dst:             lws_role_transition
        - Src:             'lib/roles/ws/server-ws.c:324,4'
          Dst:             lws_ss_tag
        - Src:             'lib/roles/ws/server-ws.c:324,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:334,10'
          Dst:             lws_ss_event_helper
        - Src:             'lib/roles/ws/server-ws.c:344,12'
          Dst:             lws_zalloc
        - Src:             'lib/roles/ws/server-ws.c:346,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:350,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/server-ws.c:352,16'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/server-ws.c:352,11'
          Dst:             atoi
        - Src:             'lib/roles/ws/server-ws.c:355,6'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/ws/server-ws.c:356,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:367,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/server-ws.c:368,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:379,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:387,8'
          Dst:             lws_h2_ws_handshake
        - Src:             'lib/roles/ws/server-ws.c:388,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:391,4'
          Dst:             lws_role_transition
        - Src:             'lib/roles/ws/server-ws.c:401,4'
          Dst:             lws_sul_cancel
        - Src:             'lib/roles/ws/server-ws.c:405,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:406,8'
          Dst:             handshake_0405
        - Src:             'lib/roles/ws/server-ws.c:407,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:414,6'
          Dst:             lws_server_init_wsi_for_ws
        - Src:             'lib/roles/ws/server-ws.c:415,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:418,2'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:441,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/ws/server-ws.c:441,2'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:442,2'
          Dst:             lws_header_table_detach
    - functionName:    handshake_0405
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/server-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 648
      functionLinenumberEnd: 807
      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:656,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/server-ws.c:657,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/server-ws.c:658,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:663,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/server-ws.c:665,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:675,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/server-ws.c:673,6'
          Dst:             sprintf
        - Src:             'lib/roles/ws/server-ws.c:677,2'
          Dst:             lws_SHA1
        - Src:             'lib/roles/ws/server-ws.c:679,15'
          Dst:             lws_b64_encode_string
        - Src:             'lib/roles/ws/server-ws.c:682,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:687,6'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/ws/server-ws.c:697,2'
          Dst:             strcpy
        - Src:             'lib/roles/ws/server-ws.c:701,2'
          Dst:             strcpy
        - Src:             'lib/roles/ws/server-ws.c:706,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/server-ws.c:738,3'
          Dst:             strcpy
        - Src:             'lib/roles/ws/server-ws.c:739,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/ws/server-ws.c:742,8'
          Dst:             strcpy
        - Src:             'lib/roles/ws/server-ws.c:760,6'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/ws/server-ws.c:769,2'
          Dst:             strcpy
        - Src:             'lib/roles/ws/server-ws.c:773,2'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:778,6'
          Dst:             lws_write
        - Src:             'lib/roles/ws/server-ws.c:781,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:787,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/server-ws.c:792,4'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/server-ws.c:793,17'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/server-ws.c:795,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: 317
      functionLinenumberEnd: 337
      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:323,8'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:332,6'
          Dst:             strcmp
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:333,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: 274
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         72
      ICount:          478
      EdgeCount:       94
      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:129,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/raw-skt/ops-raw-skt.c:180,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:92,6'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:97,7'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:111,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:111,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:111,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:114,8'
          Dst:             lws_server_socket_service_ssl
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:127,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:127,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:127,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:140,8'
          Dst:             lws_raw_skt_connect
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:179,15'
          Dst:             lws_buflist_aware_read
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:184,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:184,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:184,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:186,9'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:210,8'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:218,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:218,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:218,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:222,8'
          Dst:             lws_buflist_aware_finished_consuming
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:242,11'
          Dst:             lws_client_connect_3_connect
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:245,10'
          Dst:             lws_raw_skt_connect
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:254,6'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:260,6'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:264,3'
          Dst:             _lws_log
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:271,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: 278
      functionLinenumberEnd: 311
      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:292,14'
          Dst:             lws_realloc
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:299,2'
          Dst:             lws_role_transition
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:303,3'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:306,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:    rops_handle_POLLIN_listen
      functionSourceFile: '/src/libwebsockets/lib/roles/listen/ops-listen.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          346
      EdgeCount:       64
      CyclomaticComplexity: 19
      functionsReached:
        - __errno_location
        - _lws_log
        - accept
        - close
        - lws_adopt_descriptor_vhost
        - lws_plat_set_socket_options
        - lws_poll_listen_fd
        - ntohs
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/listen/ops-listen.c:84,20'
          Dst:             accept
        - Src:             'lib/roles/listen/ops-listen.c:88,8'
          Dst:             __errno_location
        - Src:             'lib/roles/listen/ops-listen.c:89,8'
          Dst:             __errno_location
        - Src:             'lib/roles/listen/ops-listen.c:92,4'
          Dst:             __errno_location
        - Src:             'lib/roles/listen/ops-listen.c:92,4'
          Dst:             _lws_log
        - Src:             'lib/roles/listen/ops-listen.c:98,4'
          Dst:             close
        - Src:             'lib/roles/listen/ops-listen.c:103,3'
          Dst:             lws_plat_set_socket_options
        - Src:             'lib/roles/listen/ops-listen.c:116,3'
          Dst:             ntohs
        - Src:             'lib/roles/listen/ops-listen.c:116,3'
          Dst:             _lws_log
        - Src:             'lib/roles/listen/ops-listen.c:132,4'
          Dst:             _lws_log
        - Src:             'lib/roles/listen/ops-listen.c:133,4'
          Dst:             close
        - Src:             'lib/roles/listen/ops-listen.c:147,10'
          Dst:             lws_adopt_descriptor_vhost
        - Src:             'lib/roles/listen/ops-listen.c:150,4'
          Dst:             _lws_log
        - Src:             'lib/roles/listen/ops-listen.c:170,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:    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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rops_handle_POLLOUT_listen
      functionSourceFile: '/src/libwebsockets/lib/roles/listen/ops-listen.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 178
      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: 2034
      functionLinenumberEnd: 2276
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         107
      ICount:          754
      EdgeCount:       145
      CyclomaticComplexity: 40
      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:2102,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:2050,13'
          Dst:             lws_buflist_aware_read
        - Src:             'lib/roles/http/client/client-http.c:2063,6'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/http/client/client-http.c:2067,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2071,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:2078,8'
          Dst:             lws_http_transaction_completed_client
        - Src:             'lib/roles/http/client/client-http.c:2108,8'
          Dst:             char_to_hex
        - Src:             'lib/roles/http/client/client-http.c:2110,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2118,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2136,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2137,5'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/http/client/client-http.c:2147,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2158,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2159,5'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/http/client/client-http.c:2169,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2170,5'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/http/client/client-http.c:2179,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2217,8'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/http/client/client-http.c:2221,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2227,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2264,6'
          Dst:             lws_http_transaction_completed_client
        - Src:             'lib/roles/http/client/client-http.c:2265,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2271,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: 512
      functionLinenumberEnd: 580
      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:516,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:516,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:523,6'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/http/client/client-http.c:526,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:538,6'
          Dst:             _lws_generic_transaction_completed_active_conn
        - Src:             'lib/roles/http/client/client-http.c:548,4'
          Dst:             __lws_header_table_detach
        - Src:             'lib/roles/http/client/client-http.c:551,5'
          Dst:             _lws_header_table_reset
        - Src:             'lib/roles/http/client/client-http.c:563,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:569,2'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:574,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:576,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:576,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:577,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: 2026
      functionLinenumberEnd: 2027
      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:2027,44'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:2027,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: 2003
      functionLinenumberEnd: 2023
      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:2004,13'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:2012,20'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2019,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: 1714
      functionLinenumberEnd: 1811
      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:1720,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:1717,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/client/client-http.c:1731,11'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1736,15'
          Dst:             strchr
        - Src:             'lib/roles/http/client/client-http.c:1742,10'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1747,11'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1751,16'
          Dst:             open
        - Src:             'lib/roles/http/client/client-http.c:1753,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1756,9'
          Dst:             fstat
        - Src:             'lib/roles/http/client/client-http.c:1757,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1768,10'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1780,8'
          Dst:             read
        - Src:             'lib/roles/http/client/client-http.c:1782,5'
          Dst:             close
        - Src:             'lib/roles/http/client/client-http.c:1783,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1794,5'
          Dst:             close
        - Src:             'lib/roles/http/client/client-http.c:1803,10'
          Dst:             lws_snprintf
    - functionName:    lws_http_mp_sm_destroy
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1705
      functionLinenumberEnd: 1710
      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:1707,3'
          Dst:             lws_realloc
    - functionName:    lws_http_mp_sm_init
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1607
      functionLinenumberEnd: 1701
      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:1614,9'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/client/client-http.c:1618,13'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/client/client-http.c:1622,2'
          Dst:             lws_hex_random
        - Src:             'lib/roles/http/client/client-http.c:1625,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1626,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/client/client-http.c:1628,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1644,16'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/client/client-http.c:1649,8'
          Dst:             strchr
        - Src:             'lib/roles/http/client/client-http.c:1655,22'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:1657,24'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1661,8'
          Dst:             stat
        - Src:             'lib/roles/http/client/client-http.c:1662,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1672,23'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1675,10'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:1679,21'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:1683,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: 1510
      functionLinenumberEnd: 1544
      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:1515,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/client/client-http.c:1518,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1526,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1529,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1534,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1538,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1541,8'
          Dst:             lws_snprintf
    - functionName:    lws_http_multipart_headers
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1481
      functionLinenumberEnd: 1504
      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:1485,6'
          Dst:             lws_get_random
        - Src:             'lib/roles/http/client/client-http.c:1489,2'
          Dst:             lws_b64_encode_string
        - Src:             'lib/roles/http/client/client-http.c:1493,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1496,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/client/client-http.c:1501,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: 949
      functionLinenumberEnd: 950
      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: 2300
      functionLinenumberEnd: 2415
      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:2316,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:2316,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2320,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2339,18'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:2347,21'
          Dst:             lws_client_stash_create
        - Src:             'lib/roles/http/client/client-http.c:2351,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2369,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2374,2'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/roles/http/client/client-http.c:2391,2'
          Dst:             __lws_reset_wsi
    - functionName:    lws_http_digest_auth
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 615
      functionLinenumberEnd: 942
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         115
      ICount:          866
      EdgeCount:       154
      CyclomaticComplexity: 41
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - 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_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_tokenize
        - lws_tokenize_init
        - lwsl_hexdump
        - lwsl_wsi_get_cx
        - strlen
        - strncasecmp
        - strncmp
        - strncpy
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/roles/http/client/client-http.c:664,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/http/client/client-http.c:718,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:627,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:635,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:635,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:635,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:639,6'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/client/client-http.c:641,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:641,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:641,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:658,2'
          Dst:             lws_tokenize_init
        - Src:             'lib/roles/http/client/client-http.c:663,7'
          Dst:             lws_tokenize
        - Src:             'lib/roles/http/client/client-http.c:669,10'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/client/client-http.c:670,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:670,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:670,6'
          Dst:             lws_log_prepend_wsi
        - 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:723,5'
          Dst:             strncpy
        - Src:             'lib/roles/http/client/client-http.c:729,5'
          Dst:             strncpy
        - Src:             'lib/roles/http/client/client-http.c:736,5'
          Dst:             strncpy
        - Src:             'lib/roles/http/client/client-http.c:743,6'
          Dst:             lws_genhash_size
        - Src:             'lib/roles/http/client/client-http.c:746,9'
          Dst:             lws_hex_len_to_byte_array
        - Src:             'lib/roles/http/client/client-http.c:754,9'
          Dst:             strncmp
        - Src:             'lib/roles/http/client/client-http.c:757,5'
          Dst:             strncpy
        - Src:             'lib/roles/http/client/client-http.c:783,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:783,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:783,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:792,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:792,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:792,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:800,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:800,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:800,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:820,35'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:821,4'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:821,23'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:822,4'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:824,16'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/client/client-http.c:828,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:831,7'
          Dst:             lws_genhash_init
        - Src:             'lib/roles/http/client/client-http.c:832,5'
          Dst:             lws_genhash_update
        - Src:             'lib/roles/http/client/client-http.c:835,5'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:836,4'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:842,6'
          Dst:             lws_genhash_size
        - Src:             'lib/roles/http/client/client-http.c:841,3'
          Dst:             lws_hex_from_byte_array
        - Src:             'lib/roles/http/client/client-http.c:844,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:851,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:855,7'
          Dst:             lws_genhash_init
        - Src:             'lib/roles/http/client/client-http.c:856,10'
          Dst:             lws_genhash_update
        - Src:             'lib/roles/http/client/client-http.c:859,10'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:860,4'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:861,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:866,6'
          Dst:             lws_genhash_size
        - Src:             'lib/roles/http/client/client-http.c:865,3'
          Dst:             lws_hex_from_byte_array
        - Src:             'lib/roles/http/client/client-http.c:868,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:871,18'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/client/client-http.c:871,3'
          Dst:             lws_hex_random
        - Src:             'lib/roles/http/client/client-http.c:872,3'
          Dst:             lws_hex_from_byte_array
        - Src:             'lib/roles/http/client/client-http.c:875,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:878,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:878,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:878,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:881,7'
          Dst:             lws_genhash_init
        - Src:             'lib/roles/http/client/client-http.c:882,5'
          Dst:             lws_genhash_update
        - Src:             'lib/roles/http/client/client-http.c:883,5'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:884,4'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:885,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:885,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:885,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:890,6'
          Dst:             lws_genhash_size
        - Src:             'lib/roles/http/client/client-http.c:892,6'
          Dst:             lws_genhash_size
        - Src:             'lib/roles/http/client/client-http.c:889,3'
          Dst:             lws_hex_from_byte_array
        - Src:             'lib/roles/http/client/client-http.c:894,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:902,3'
          Dst:             lwsl_hexdump
        - Src:             'lib/roles/http/client/client-http.c:904,7'
          Dst:             lws_hdr_simple_create
        - Src:             'lib/roles/http/client/client-http.c:906,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:906,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:906,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:910,10'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/http/client/client-http.c:922,8'
          Dst:             lws_client_reset
        - Src:             'lib/roles/http/client/client-http.c:923,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:923,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:923,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:939,2'
          Dst:             lws_realloc
    - functionName:    lws_http_client_http_response
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 584
      functionLinenumberEnd: 589
      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: 955
      functionLinenumberEnd: 1472
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         192
      ICount:          1452
      EdgeCount:       263
      CyclomaticComplexity: 73
      functionsReached:
        - _lws_log
        - atoi
        - atoll
        - lws_client_reset
        - 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_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_now_usecs
        - lws_parse_set_cookie
        - lws_parse_uri
        - lws_role_transition
        - lws_set_timeout
        - lws_strncpy
        - lws_wsi_tag
        - strchr
        - strcmp
        - strlen
        - strrchr
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/roles/http/client/client-http.c:1442,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:960,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/http/client/client-http.c:969,7'
          Dst:             lws_now_usecs
        - Src:             'lib/roles/http/client/client-http.c:979,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:979,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:981,4'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/client/client-http.c:988,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:988,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:990,4'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/client/client-http.c:1006,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1007,3'
          Dst:             lws_parse_set_cookie
        - Src:             'lib/roles/http/client/client-http.c:1025,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1034,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1039,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1044,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1047,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1059,6'
          Dst:             atoi
        - Src:             'lib/roles/http/client/client-http.c:1062,18'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1065,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1070,7'
          Dst:             lws_http_digest_auth
        - Src:             'lib/roles/http/client/client-http.c:1074,3'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/http/client/client-http.c:1090,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1109,44'
          Dst:             lws_get_opaque_user_data
        - Src:             'lib/roles/http/client/client-http.c:1112,5'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/roles/http/client/client-http.c:1127,23'
          Dst:             strchr
        - Src:             'lib/roles/http/client/client-http.c:1131,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1140,12'
          Dst:             strchr
        - Src:             'lib/roles/http/client/client-http.c:1141,8'
          Dst:             lws_parse_uri
        - Src:             'lib/roles/http/client/client-http.c:1146,9'
          Dst:             strcmp
        - Src:             'lib/roles/http/client/client-http.c:1146,33'
          Dst:             strcmp
        - Src:             'lib/roles/http/client/client-http.c:1156,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1161,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1162,27'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1162,5'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/client/client-http.c:1168,8'
          Dst:             strrchr
        - Src:             'lib/roles/http/client/client-http.c:1170,5'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/client/client-http.c:1185,15'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1186,13'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1187,28'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:1190,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1199,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1200,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1203,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1231,8'
          Dst:             lws_client_reset
        - Src:             'lib/roles/http/client/client-http.c:1232,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1246,3'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/http/client/client-http.c:1284,5'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/http/client/client-http.c:1289,5'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/client/client-http.c:1319,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1320,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1325,19'
          Dst:             strcmp
        - Src:             'lib/roles/http/client/client-http.c:1331,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1332,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1338,48'
          Dst:             atoll
        - Src:             'lib/roles/http/client/client-http.c:1339,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1348,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1366,7'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/http/client/client-http.c:1367,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1388,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:1403,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:1403,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1414,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1417,12'
          Dst:             lws_http_client_http_response
        - Src:             'lib/roles/http/client/client-http.c:1418,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1420,15'
          Dst:             strcmp
        - Src:             'lib/roles/http/client/client-http.c:1421,14'
          Dst:             lws_http_transaction_completed_client
        - Src:             'lib/roles/http/client/client-http.c:1442,10'
          Dst:             lws_client_ws_upgrade
        - Src:             'lib/roles/http/client/client-http.c:1459,13'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:1461,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/roles/http/client/client-http.c:1464,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1469,2'
          Dst:             lws_close_free_wsi
    - functionName:    lws_generate_client_handshake
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1816
      functionLinenumberEnd: 1995
      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:1817,26'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1821,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1829,7'
          Dst:             strcmp
        - Src:             'lib/roles/http/client/client-http.c:1830,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:1831,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1836,9'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/client/client-http.c:1839,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1844,4'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/client/client-http.c:1851,3'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/client/client-http.c:1853,3'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/http/client/client-http.c:1871,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1880,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1884,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1890,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1888,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1892,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1897,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1895,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1904,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1900,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1909,16'
          Dst:             lws_http_multipart_headers
        - Src:             'lib/roles/http/client/client-http.c:1940,14'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1942,9'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/client/client-http.c:1952,7'
          Dst:             lws_generate_client_ws_handshake
        - Src:             'lib/roles/http/client/client-http.c:1960,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1967,3'
          Dst:             lws_cookie_send_cookies
        - Src:             'lib/roles/http/client/client-http.c:1977,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1978,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1979,3'
          Dst:             lws_client_http_body_pending
        - Src:             'lib/roles/http/client/client-http.c:1982,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1984,39'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/client/client-http.c:1985,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/client/client-http.c:1989,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: 506
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         142
      ICount:          935
      EdgeCount:       188
      CyclomaticComplexity: 48
      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:292,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:268,7'
          Dst:             lws_generate_client_handshake
        - Src:             'lib/roles/http/client/client-http.c:278,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:279,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/http/client/client-http.c:286,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:286,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:291,7'
          Dst:             lws_ssl_capable_write
        - Src:             'lib/roles/http/client/client-http.c:294,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:295,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/http/client/client-http.c:299,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/client/client-http.c:303,40'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/client/client-http.c:304,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:305,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:306,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:311,5'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/client/client-http.c:321,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:325,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:336,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:339,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/client/client-http.c:349,40'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/client/client-http.c:363,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:364,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:376,8'
          Dst:             lws_buflist_total_len
        - Src:             'lib/roles/http/client/client-http.c:377,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:379,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:379,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:387,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/http/client/client-http.c:418,15'
          Dst:             lws_buflist_aware_read
        - Src:             'lib/roles/http/client/client-http.c:419,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:431,8'
          Dst:             lws_parse
        - Src:             'lib/roles/http/client/client-http.c:432,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:453,8'
          Dst:             lws_buflist_aware_finished_consuming
        - Src:             'lib/roles/http/client/client-http.c:466,5'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/client/client-http.c:487,10'
          Dst:             lws_client_interpret_server_handshake
        - Src:             'lib/roles/http/client/client-http.c:490,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:490,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:493,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:496,49'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:496,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/roles/http/client/client-http.c:498,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: 45
      functionLinenumberEnd: 53
      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:51,2'
          Dst:             lws_state_transition_steps
    - functionName:    rops_handle_POLLIN_netlink
      functionSourceFile: '/src/libwebsockets/lib/roles/netlink/ops-netlink.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 538
      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:130,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/netlink/ops-netlink.c:141,5'
          Branch Sides:    []
        - Branch String:   'lib/roles/netlink/ops-netlink.c:195,5'
          Branch Sides:    []
        - Branch String:   'lib/roles/netlink/ops-netlink.c:268,5'
          Branch Sides:    []
        - Branch String:   'lib/roles/netlink/ops-netlink.c:291,4'
          Branch Sides:    []
        - Branch String:   'lib/roles/netlink/ops-netlink.c:363,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/netlink/ops-netlink.c:90,20'
          Dst:             recvmsg
        - Src:             'lib/roles/netlink/ops-netlink.c:92,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:92,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:92,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:116,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:116,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:116,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:139,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:139,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:139,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:143,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:143,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:143,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:152,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:152,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:152,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:165,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:165,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:165,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:168,5'
          Dst:             _lws_route_table_ifdown
        - Src:             'lib/roles/netlink/ops-netlink.c:189,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:189,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:189,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:198,6'
          Dst:             lws_sa46_copy_address
        - Src:             'lib/roles/netlink/ops-netlink.c:200,6'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/roles/netlink/ops-netlink.c:201,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:201,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:201,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:205,6'
          Dst:             lws_sa46_copy_address
        - Src:             'lib/roles/netlink/ops-netlink.c:207,6'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/roles/netlink/ops-netlink.c:208,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:208,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:208,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:211,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:211,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:211,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:218,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:218,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:218,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:221,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:221,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:221,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:224,6'
          Dst:             strncpy
        - Src:             'lib/roles/netlink/ops-netlink.c:226,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:226,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:226,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:229,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:229,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:229,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:244,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:244,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:244,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:255,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:255,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:255,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:260,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:260,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:260,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:267,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:267,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:267,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:270,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:270,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:270,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:276,4'
          Dst:             _lws_route_pt_close_unroutable
        - Src:             'lib/roles/netlink/ops-netlink.c:281,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:281,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:281,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:294,5'
          Dst:             lws_sa46_copy_address
        - Src:             'lib/roles/netlink/ops-netlink.c:297,5'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/roles/netlink/ops-netlink.c:299,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:299,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:299,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:301,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:301,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:301,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:308,6'
          Dst:             lws_sa46_copy_address
        - Src:             'lib/roles/netlink/ops-netlink.c:310,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:310,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:310,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:313,5'
          Dst:             lws_sa46_copy_address
        - Src:             'lib/roles/netlink/ops-netlink.c:316,5'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/roles/netlink/ops-netlink.c:317,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:317,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:317,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:320,5'
          Dst:             lws_sa46_copy_address
        - Src:             'lib/roles/netlink/ops-netlink.c:323,5'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/roles/netlink/ops-netlink.c:324,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:324,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:324,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:332,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:332,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:332,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:338,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:338,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:338,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:341,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:341,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:341,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:369,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:369,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:369,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:372,4'
          Dst:             _lws_route_remove
        - Src:             'lib/roles/netlink/ops-netlink.c:385,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:385,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:385,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:397,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:397,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:397,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:401,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:401,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:401,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:405,4'
          Dst:             _lws_routing_entry_dump
        - Src:             'lib/roles/netlink/ops-netlink.c:412,10'
          Dst:             lws_realloc
        - Src:             'lib/roles/netlink/ops-netlink.c:414,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:414,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:414,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:435,4'
          Dst:             _lws_route_remove
        - Src:             'lib/roles/netlink/ops-netlink.c:439,16'
          Dst:             _lws_route_get_uidx
        - Src:             'lib/roles/netlink/ops-netlink.c:440,4'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/roles/netlink/ops-netlink.c:443,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:443,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:443,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:450,4'
          Dst:             _lws_route_pt_close_unroutable
        - Src:             'lib/roles/netlink/ops-netlink.c:462,10'
          Dst:             lws_smd_msg_printf
        - Src:             'lib/roles/netlink/ops-netlink.c:471,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:471,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:471,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:473,4'
          Dst:             _lws_routing_entry_dump
        - Src:             'lib/roles/netlink/ops-netlink.c:477,4'
          Dst:             _lws_route_remove
        - Src:             'lib/roles/netlink/ops-netlink.c:480,4'
          Dst:             _lws_route_pt_close_unroutable
        - Src:             'lib/roles/netlink/ops-netlink.c:486,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:486,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:486,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:488,4'
          Dst:             _lws_routing_entry_dump
        - Src:             'lib/roles/netlink/ops-netlink.c:510,9'
          Dst:             lws_smd_msg_printf
        - Src:             'lib/roles/netlink/ops-netlink.c:518,3'
          Dst:             _lws_routing_table_dump
        - Src:             'lib/roles/netlink/ops-netlink.c:531,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/roles/netlink/ops-netlink.c:531,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: 549
      functionLinenumberEnd: 676
      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:563,3'
          Dst:             _lws_route_table_empty
        - Src:             'lib/roles/netlink/ops-netlink.c:575,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:575,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:575,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:582,8'
          Dst:             __lws_wsi_create_with_role
        - Src:             'lib/roles/netlink/ops-netlink.c:588,21'
          Dst:             socket
        - Src:             'lib/roles/netlink/ops-netlink.c:590,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:590,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:590,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:594,2'
          Dst:             lws_plat_set_nonblocking
        - Src:             'lib/roles/netlink/ops-netlink.c:596,2'
          Dst:             __lws_lc_tag
        - Src:             'lib/roles/netlink/ops-netlink.c:608,6'
          Dst:             bind
        - Src:             'lib/roles/netlink/ops-netlink.c:609,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:609,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:609,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:615,6'
          Dst:             lws_wsi_inject_to_loop
        - Src:             'lib/roles/netlink/ops-netlink.c:640,32'
          Dst:             getpid
        - Src:             'lib/roles/netlink/ops-netlink.c:651,11'
          Dst:             sendmsg
        - Src:             'lib/roles/netlink/ops-netlink.c:653,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:653,3'
          Dst:             __errno_location
        - Src:             'lib/roles/netlink/ops-netlink.c:653,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:653,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:664,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:664,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:664,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:669,2'
          Dst:             __lws_lc_untag
        - Src:             'lib/roles/netlink/ops-netlink.c:670,2'
          Dst:             close
        - Src:             'lib/roles/netlink/ops-netlink.c:672,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/netlink/ops-netlink.c:673,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: 2181
      functionLinenumberEnd: 2194
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          63
      EdgeCount:       7
      CyclomaticComplexity: 3
      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:2185,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:2185,2'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:2185,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:2191,3'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:2191,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:2191,3'
          Dst:             lws_log_prepend_ss
    - functionName:    lwsl_ss_get_cx
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2132
      functionLinenumberEnd: 2137
      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: 2141
      functionLinenumberEnd: 2146
      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:2145,4'
          Dst:             lws_ss_tag
        - Src:             'lib/secure-streams/secure-streams.c:2144,8'
          Dst:             lws_snprintf
    - functionName:    lws_ss_tag
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2124
      functionLinenumberEnd: 2128
      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:    16
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:2127,9'
          Dst:             lws_lc_tag
    - functionName:    lws_ss_assert_extant
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2159
      functionLinenumberEnd: 2175
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          61
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:2175,2'
          Dst:             __assert_fail
    - functionName:    lws_ss_validity_confirmed
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2150
      functionLinenumberEnd: 2153
      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:2152,3'
          Dst:             lws_validity_confirmed
    - functionName:    lws_ss_change_handlers
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2113
      functionLinenumberEnd: 2120
      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: 2099
      functionLinenumberEnd: 2102
      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:2100,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:2101,2'
          Dst:             lws_sul_cancel
    - functionName:    lws_ss_to_cb
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2068
      functionLinenumberEnd: 2082
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          67
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
        - _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - lws_set_timeout
        - lws_ss_event_helper
        - lws_ss_tag
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:2072,2'
          Dst:             lws_ss_tag
        - Src:             'lib/secure-streams/secure-streams.c:2072,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:2074,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:2079,3'
          Dst:             lws_set_timeout
        - Src:             'lib/secure-streams/secure-streams.c:2081,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: 1594
      functionLinenumberEnd: 1806
      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:1606,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:1609,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1611,3'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/secure-streams.c:1616,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1623,3'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/secure-streams.c:1628,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1633,5'
          Dst:             lws_get_opaque_user_data
        - Src:             'lib/secure-streams/secure-streams.c:1645,3'
          Dst:             lws_set_opaque_user_data
        - Src:             'lib/secure-streams/secure-streams.c:1646,3'
          Dst:             lws_set_timeout
        - Src:             'lib/secure-streams/secure-streams.c:1650,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/secure-streams.c:1659,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/secure-streams.c:1662,4'
          Dst:             lws_smd_unregister
        - Src:             'lib/secure-streams/secure-streams.c:1672,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/secure-streams.c:1674,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/secure-streams.c:1676,3'
          Dst:             lws_vfs_file_close
        - Src:             'lib/secure-streams/secure-streams.c:1679,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/secure-streams.c:1680,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/secure-streams.c:1681,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/secure-streams.c:1685,3'
          Dst:             lws_ss_destroy
        - Src:             'lib/secure-streams/secure-streams.c:1688,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/secure-streams.c:1690,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/secure-streams.c:1699,7'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/secure-streams/secure-streams.c:1711,10'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1713,9'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1722,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1724,4'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/secure-streams.c:1750,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/secure-streams.c:1780,3'
          Dst:             lws_vhost_destroy
        - Src:             'lib/secure-streams/secure-streams.c:1795,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/secure-streams.c:1801,2'
          Dst:             __lws_lc_untag
        - Src:             'lib/secure-streams/secure-streams.c:1803,2'
          Dst:             lws_explicit_bzero
        - Src:             'lib/secure-streams/secure-streams.c:1805,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: 2086
      functionLinenumberEnd: 2095
      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:2087,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:2092,2'
          Dst:             lws_sul_schedule
        - Src:             'lib/secure-streams/secure-streams.c:2092,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: 2049
      functionLinenumberEnd: 2060
      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:2052,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: 2034
      functionLinenumberEnd: 2045
      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:2037,2'
          Dst:             lws_service_assert_loop_thread
    - functionName:    lws_ss_rideshare
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2025
      functionLinenumberEnd: 2030
      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: 2010
      functionLinenumberEnd: 2011
      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: 1999
      functionLinenumberEnd: 2005
      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:2002,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:2003,3'
          Dst:             _lws_log
    - functionName:    lws_ss_destroy_dll
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1989
      functionLinenumberEnd: 1994
      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:1992,2'
          Dst:             lws_ss_destroy
    - functionName:    lws_ss_request_tx_len
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1967
      functionLinenumberEnd: 1978
      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:1968,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:1978,9'
          Dst:             lws_ss_request_tx
    - functionName:    lws_ss_request_tx
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1872
      functionLinenumberEnd: 1877
      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:1875,6'
          Dst:             _lws_ss_request_tx
    - functionName:    _lws_ss_request_tx
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1882
      functionLinenumberEnd: 1963
      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:1887,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:1890,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/secure-streams/secure-streams.c:1897,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1910,3'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1910,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1910,3'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1912,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/secure-streams/secure-streams.c:1912,3'
          Dst:             lws_ss_sink_txreq_cb
        - Src:             'lib/secure-streams/secure-streams.c:1932,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/secure-streams/secure-streams.c:1932,3'
          Dst:             lws_ss_smd_tx_cb
        - Src:             'lib/secure-streams/secure-streams.c:1946,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1955,6'
          Dst:             _lws_ss_client_connect
        - Src:             'lib/secure-streams/secure-streams.c:1960,10'
          Dst:             lws_ss_backoff
    - functionName:    lws_ss_sink_txreq_cb
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1836
      functionLinenumberEnd: 1867
      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:1850,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:1846,2'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/secure-streams.c:1853,4'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1853,4'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1853,4'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1858,3'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/secure-streams.c:1864,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: 1007
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         98
      ICount:          831
      EdgeCount:       137
      CyclomaticComplexity: 41
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - lws_client_connect_via_info
        - lws_get_vhost_by_name
        - lws_log_prepend_ss
        - lws_parse_uri
        - 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:738,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:741,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:767,23'
          Dst:             lws_smd_register
        - Src:             'lib/secure-streams/secure-streams.c:767,23'
          Dst:             lws_smd_ss_cb
        - Src:             'lib/secure-streams/secure-streams.c:775,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:778,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:789,2'
          Dst:             lws_strexp_init
        - Src:             'lib/secure-streams/secure-streams.c:789,2'
          Dst:             lws_ss_exp_cb_metadata
        - Src:             'lib/secure-streams/secure-streams.c:792,10'
          Dst:             strlen
        - Src:             'lib/secure-streams/secure-streams.c:791,6'
          Dst:             lws_strexp_expand
        - Src:             'lib/secure-streams/secure-streams.c:794,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:813,7'
          Dst:             strncmp
        - Src:             'lib/secure-streams/secure-streams.c:815,15'
          Dst:             lws_vfs_file_open
        - Src:             'lib/secure-streams/secure-streams.c:819,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:821,4'
          Dst:             lws_vfs_file_close
        - Src:             'lib/secure-streams/secure-streams.c:826,4'
          Dst:             lws_vfs_file_close
        - Src:             'lib/secure-streams/secure-streams.c:827,4'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:827,4'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:827,4'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:831,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:833,4'
          Dst:             lws_vfs_file_close
        - Src:             'lib/secure-streams/secure-streams.c:838,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/secure-streams/secure-streams.c:838,3'
          Dst:             lws_ss_fops_sul_cb
        - Src:             'lib/secure-streams/secure-streams.c:845,6'
          Dst:             strchr
        - Src:             'lib/secure-streams/secure-streams.c:846,7'
          Dst:             lws_parse_uri
        - Src:             'lib/secure-streams/secure-streams.c:847,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:859,16'
          Dst:             strcmp
        - Src:             'lib/secure-streams/secure-streams.c:859,41'
          Dst:             strcmp
        - Src:             'lib/secure-streams/secure-streams.c:860,9'
          Dst:             strcmp
        - Src:             'lib/secure-streams/secure-streams.c:864,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:868,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:871,14'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/secure-streams/secure-streams.c:874,5'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:926,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:940,9'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/secure-streams.c:942,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:951,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:965,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:967,3'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/secure-streams.c:973,8'
          Dst:             lws_client_connect_via_info
        - Src:             'lib/secure-streams/secure-streams.c:975,2'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/secure-streams.c:994,8'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:998,8'
          Dst:             lws_ss_backoff
    - 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: 1819
      functionLinenumberEnd: 1827
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ss_server_ack
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1811
      functionLinenumberEnd: 1814
      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: 1588
      functionLinenumberEnd: 1589
      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: 235
      functionLinenumberEnd: 235
      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: 1092
      functionLinenumberEnd: 1584
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         154
      ICount:          1273
      EdgeCount:       208
      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:1558,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:1106,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:1133,9'
          Dst:             lws_ss_policy_lookup
        - Src:             'lib/secure-streams/secure-streams.c:1136,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1136,4'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1136,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1159,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1165,8'
          Dst:             lws_zalloc
        - Src:             'lib/secure-streams/secure-streams.c:1173,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/secure-streams/secure-streams.c:1175,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1175,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1175,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1192,23'
          Dst:             strlen
        - Src:             'lib/secure-streams/secure-streams.c:1195,6'
          Dst:             lws_zalloc
        - Src:             'lib/secure-streams/secure-streams.c:1212,3'
          Dst:             __lws_lc_tag
        - Src:             'lib/secure-streams/secure-streams.c:1217,3'
          Dst:             __lws_lc_tag
        - Src:             'lib/secure-streams/secure-streams.c:1246,4'
          Dst:             lws_dll2_get_head
        - Src:             'lib/secure-streams/secure-streams.c:1250,10'
          Dst:             strcmp
        - Src:             'lib/secure-streams/secure-streams.c:1259,7'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1259,7'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1259,7'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1269,10'
          Dst:             lws_ss_create
        - Src:             'lib/secure-streams/secure-streams.c:1271,7'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1271,7'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1271,7'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1275,6'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/secure-streams/secure-streams.c:1277,6'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1277,6'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1277,6'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1284,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1284,5'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1284,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1316,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1316,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1316,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1331,30'
          Dst:             strlen
        - Src:             'lib/secure-streams/secure-streams.c:1338,2'
          Dst:             lws_dll2_add_head
        - Src:             'lib/secure-streams/secure-streams.c:1368,23'
          Dst:             lws_smd_register
        - Src:             'lib/secure-streams/secure-streams.c:1368,23'
          Dst:             lws_smd_ss_cb
        - Src:             'lib/secure-streams/secure-streams.c:1373,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1373,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1373,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1383,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1383,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1383,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1394,10'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/secure-streams/secure-streams.c:1397,5'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1423,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1446,5'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1446,5'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1446,5'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1462,10'
          Dst:             lws_create_vhost
        - Src:             'lib/secure-streams/secure-streams.c:1466,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1466,4'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1466,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1478,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1479,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1479,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1479,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1484,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1484,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1484,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1518,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1519,2'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1519,2'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1519,2'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1536,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1539,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1555,7'
          Dst:             _lws_ss_client_connect
        - Src:             'lib/secure-streams/secure-streams.c:1563,8'
          Dst:             lws_ss_backoff
        - Src:             'lib/secure-streams/secure-streams.c:1579,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/secure-streams.c:1581,2'
          Dst:             lws_ss_destroy
    - functionName:    lws_ss_get_vhost
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2016
      functionLinenumberEnd: 2020
      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: 1023
      functionLinenumberEnd: 1078
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          189
      EdgeCount:       35
      CyclomaticComplexity: 11
      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:1038,12'
          Dst:             lws_ss_get_vhost
        - Src:             'lib/secure-streams/secure-streams.c:1038,34'
          Dst:             lws_ss_get_vhost
        - Src:             'lib/secure-streams/secure-streams.c:1039,5'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/secure-streams/secure-streams.c:1045,8'
          Dst:             lws_adopt_descriptor_vhost_via_info
        - Src:             'lib/secure-streams/secure-streams.c:1047,3'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1047,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1047,3'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1051,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1051,2'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1051,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/secure-streams/secure-streams.c:1057,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1060,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1064,6'
          Dst:             lws_change_pollfd
        - Src:             'lib/secure-streams/secure-streams.c:1065,3'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1065,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1065,3'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1070,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1074,2'
          Dst:             lws_close_free_wsi
    - functionName:    lws_ss_client_connect
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1011
      functionLinenumberEnd: 1018
      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:1014,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:1016,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:    11
      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: 91
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          48
      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:80,2'
          Dst:             lws_ss_destroy
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:82,6'
          Dst:             lws_ss_policy_set
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:83,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:87,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: 96
      functionLinenumberEnd: 132
      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:103,2'
          Branch Sides:    []
        - Branch String:   'lib/secure-streams/system/fetch-policy/fetch-policy.c:111,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:100,2'
          Dst:             lws_ss_state_name
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:100,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:105,10'
          Dst:             lws_ss_request_tx
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:113,4'
          Dst:             lws_sul_schedule
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:113,4'
          Dst:             policy_set
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:121,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: 136
      functionLinenumberEnd: 170
      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:153,6'
          Dst:             lws_ss_create
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:160,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:165,2'
          Dst:             _lws_log
    - functionName:    secstream_connect_munge_h1
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1216
      functionLinenumberEnd: 1265
      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:1253,2'
          Dst:             lws_strexp_init
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1253,2'
          Dst:             lws_ss_exp_cb_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1255,38'
          Dst:             strlen
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1255,6'
          Dst:             lws_strexp_expand
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1262,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: 274
      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:242,8'
          Dst:             atoi
        - Src:             'lib/secure-streams/protocols/ss-h1.c:243,5'
          Dst:             lws_client_http_body_pending
        - Src:             'lib/secure-streams/protocols/ss-h1.c:256,5'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:257,5'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:259,5'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:263,12'
          Dst:             lws_snprintf
        - Src:             'lib/secure-streams/protocols/ss-h1.c:265,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/secure-streams/protocols/ss-h1.c:270,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: 317
      functionLinenumberEnd: 423
      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:327,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:329,22'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:331,11'
          Dst:             lws_ss_get_handle_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:335,5'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:335,5'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/protocols/ss-h1.c:342,5'
          Dst:             _lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:369,9'
          Dst:             lws_hdr_custom_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:375,10'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/protocols/ss-h1.c:384,10'
          Dst:             lws_hdr_custom_copy
        - Src:             'lib/secure-streams/protocols/ss-h1.c:392,7'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/protocols/ss-h1.c:398,7'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/protocols/ss-h1.c:403,12'
          Dst:             lws_ss_get_handle_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:407,7'
          Dst:             _lws_ss_set_metadata
    - functionName:    secstream_h1
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 435
      functionLinenumberEnd: 1195
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         364
      ICount:          2550
      EdgeCount:       500
      CyclomaticComplexity: 138
      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_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:    2
      BranchProfiles:
        - Branch String:   'lib/secure-streams/protocols/ss-h1.c:451,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/protocols/ss-h1.c:439,42'
          Dst:             lws_get_opaque_user_data
        - Src:             'lib/secure-streams/protocols/ss-h1.c:455,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/secure-streams/protocols/ss-h1.c:455,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:459,3'
          Dst:             lws_ss_assert_extant
        - Src:             'lib/secure-streams/protocols/ss-h1.c:461,3'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/protocols/ss-h1.c:464,3'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/secure-streams/protocols/ss-h1.c:468,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:472,8'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:474,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:477,8'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:484,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:489,7'
          Dst:             lws_ss_backoff
        - Src:             'lib/secure-streams/protocols/ss-h1.c:495,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:505,23'
          Dst:             lws_get_context
        - Src:             'lib/secure-streams/protocols/ss-h1.c:505,4'
          Dst:             lws_system_cpd_set
        - Src:             'lib/secure-streams/protocols/ss-h1.c:516,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/protocols/ss-h1.c:518,3'
          Dst:             lws_ss_assert_extant
        - Src:             'lib/secure-streams/protocols/ss-h1.c:524,11'
          Dst:             lws_http_client_http_response
        - Src:             'lib/secure-streams/protocols/ss-h1.c:527,3'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/secure-streams/protocols/ss-h1.c:540,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/protocols/ss-h1.c:549,8'
          Dst:             lws_ss_backoff
        - Src:             'lib/secure-streams/protocols/ss-h1.c:551,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:558,8'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:560,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:569,3'
          Dst:             lws_ss_assert_extant
        - Src:             'lib/secure-streams/protocols/ss-h1.c:577,11'
          Dst:             lws_http_client_http_response
        - Src:             'lib/secure-streams/protocols/ss-h1.c:580,3'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/secure-streams/protocols/ss-h1.c:583,17'
          Dst:             lws_http_client_http_response
        - Src:             'lib/secure-streams/protocols/ss-h1.c:584,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:606,4'
          Dst:             lws_http_check_retry_after
        - Src:             'lib/secure-streams/protocols/ss-h1.c:608,8'
          Dst:             _lws_ss_backoff
        - Src:             'lib/secure-streams/protocols/ss-h1.c:610,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:622,7'
          Dst:             lws_extract_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:623,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:636,12'
          Dst:             lws_ss_http_resp_to_state
        - Src:             'lib/secure-streams/protocols/ss-h1.c:638,9'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:640,13'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:646,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:650,5'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:658,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/protocols/ss-h1.c:668,9'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:670,13'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:676,9'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:678,13'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:686,3'
          Dst:             lws_validity_confirmed
        - Src:             'lib/secure-streams/protocols/ss-h1.c:698,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/secure-streams/protocols/ss-h1.c:703,9'
          Dst:             strncmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:704,9'
          Dst:             strncmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:712,13'
          Dst:             strlen
        - Src:             'lib/secure-streams/protocols/ss-h1.c:719,9'
          Dst:             lws_tokenize
        - Src:             'lib/secure-streams/protocols/ss-h1.c:721,10'
          Dst:             strncmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:723,10'
          Dst:             lws_tokenize
        - Src:             'lib/secure-streams/protocols/ss-h1.c:730,6'
          Dst:             lws_strncpy
        - Src:             'lib/secure-streams/protocols/ss-h1.c:739,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:753,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:790,9'
          Dst:             lws_snprintf
        - Src:             'lib/secure-streams/protocols/ss-h1.c:796,9'
          Dst:             lws_system_get_blob
        - Src:             'lib/secure-streams/protocols/ss-h1.c:801,8'
          Dst:             lws_system_blob_get
        - Src:             'lib/secure-streams/protocols/ss-h1.c:806,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:808,8'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/secure-streams/protocols/ss-h1.c:818,7'
          Dst:             lws_apply_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:853,6'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:854,6'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:856,6'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:860,9'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:862,13'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:871,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:879,11'
          Dst:             ss_http_multipart_parser
        - Src:             'lib/secure-streams/protocols/ss-h1.c:895,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:905,8'
          Dst:             lws_http_client_read
        - Src:             'lib/secure-streams/protocols/ss-h1.c:909,3'
          Dst:             lws_set_timeout
        - Src:             'lib/secure-streams/protocols/ss-h1.c:926,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/protocols/ss-h1.c:937,8'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:939,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:944,8'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:948,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:950,22'
          Dst:             lws_get_context
        - Src:             'lib/secure-streams/protocols/ss-h1.c:950,3'
          Dst:             lws_cancel_service
        - Src:             'lib/secure-streams/protocols/ss-h1.c:957,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:969,8'
          Dst:             lws_add_http_common_headers
        - Src:             'lib/secure-streams/protocols/ss-h1.c:984,8'
          Dst:             lws_apply_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:987,8'
          Dst:             lws_finalize_write_http_header
        - Src:             'lib/secure-streams/protocols/ss-h1.c:991,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1011,4'
          Dst:             lws_client_http_multipart
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1027,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1041,5'
          Dst:             lws_client_http_body_pending
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1044,6'
          Dst:             lws_client_http_multipart
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1049,20'
          Dst:             lws_ss_policy_lookup
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1051,5'
          Dst:             lws_callback_on_writable
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1063,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1066,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1069,7'
          Dst:             lws_write
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1073,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1080,8'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1096,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1104,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1107,11'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1106,9'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1110,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1112,11'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1111,14'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1118,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1121,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1120,10'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1124,10'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1126,10'
          Dst:             lws_hdr_fragment_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1128,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1127,15'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1132,10'
          Dst:             lws_hdr_total_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1135,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1134,11'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1138,11'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1140,11'
          Dst:             lws_hdr_fragment_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1142,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1141,16'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1147,11'
          Dst:             lws_hdr_total_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1150,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1149,12'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1153,12'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1155,12'
          Dst:             lws_hdr_fragment_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1157,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1156,17'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1176,9'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1178,13'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1182,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1184,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1194,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: 244
      functionLinenumberEnd: 281
      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:268,2'
          Dst:             lws_strexp_init
        - Src:             'lib/secure-streams/protocols/ss-ws.c:268,2'
          Dst:             lws_ss_exp_cb_metadata
        - Src:             'lib/secure-streams/protocols/ss-ws.c:270,38'
          Dst:             strlen
        - Src:             'lib/secure-streams/protocols/ss-ws.c:270,6'
          Dst:             lws_strexp_expand
        - Src:             'lib/secure-streams/protocols/ss-ws.c:274,2'
          Dst:             __lws_lc_tag_append
        - Src:             'lib/secure-streams/protocols/ss-ws.c:278,2'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/protocols/ss-ws.c:278,2'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/protocols/ss-ws.c:278,2'
          Dst:             lws_log_prepend_ss
    - functionName:    secstream_ws
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 222
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         109
      ICount:          750
      EdgeCount:       143
      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
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/secure-streams/protocols/ss-ws.c:41,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/protocols/ss-ws.c:34,42'
          Dst:             lws_get_opaque_user_data
        - Src:             'lib/secure-streams/protocols/ss-ws.c:45,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-ws.c:51,3'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/secure-streams/protocols/ss-ws.c:54,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-ws.c:56,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-ws.c:59,7'
          Dst:             lws_ss_backoff
        - Src:             'lib/secure-streams/protocols/ss-ws.c:61,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-ws.c:68,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/protocols/ss-ws.c:71,3'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/secure-streams/protocols/ss-ws.c:74,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-ws.c:76,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-ws.c:79,4'
          Dst:             lws_set_opaque_user_data
        - Src:             'lib/secure-streams/protocols/ss-ws.c:84,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/protocols/ss-ws.c:95,9'
          Dst:             lws_ss_backoff
        - Src:             'lib/secure-streams/protocols/ss-ws.c:97,13'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-ws.c:107,5'
          Dst:             lws_ss_destroy
        - Src:             'lib/secure-streams/protocols/ss-ws.c:124,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/protocols/ss-ws.c:131,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-ws.c:133,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-ws.c:141,7'
          Dst:             lws_is_first_fragment
        - Src:             'lib/secure-streams/protocols/ss-ws.c:143,7'
          Dst:             lws_is_final_fragment
        - Src:             'lib/secure-streams/protocols/ss-ws.c:151,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-ws.c:162,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-ws.c:187,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-ws.c:190,4'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/protocols/ss-ws.c:190,4'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/protocols/ss-ws.c:190,4'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/protocols/ss-ws.c:191,4'
          Dst:             __assert_fail
        - 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,8'
          Dst:             lws_write_ws_flags
        - Src:             'lib/secure-streams/protocols/ss-ws.c:207,7'
          Dst:             lws_write
        - Src:             'lib/secure-streams/protocols/ss-ws.c:209,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-ws.c:221,9'
          Dst:             lws_callback_http_dummy
    - functionName:    lws_plat_drop_app_privileges
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-caps.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 249
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         53
      ICount:          336
      EdgeCount:       71
      CyclomaticComplexity: 20
      functionsReached:
        - __errno_location
        - _lws_log_cx
        - getgrgid_r
        - getgrnam_r
        - getpwnam_r
        - getpwuid_r
        - initgroups
        - lws_log_prepend_context
        - lwsl_context_get_cx
        - setgid
        - setuid
        - strerror
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-caps.c:123,8'
          Dst:             getgrnam_r
        - Src:             'lib/plat/unix/unix-caps.c:128,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:128,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:128,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:132,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:132,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:132,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:146,8'
          Dst:             getpwnam_r
        - Src:             'lib/plat/unix/unix-caps.c:153,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:153,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:153,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:156,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:156,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:156,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:173,7'
          Dst:             getgrgid_r
        - Src:             'lib/plat/unix/unix-caps.c:178,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:178,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:178,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:184,7'
          Dst:             setgid
        - Src:             'lib/plat/unix/unix-caps.c:185,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:185,4'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-caps.c:185,4'
          Dst:             strerror
        - Src:             'lib/plat/unix/unix-caps.c:185,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:185,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:191,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:191,3'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:191,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:193,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:193,3'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:193,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:203,7'
          Dst:             getpwuid_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:218,7'
          Dst:             initgroups
        - Src:             'lib/plat/unix/unix-caps.c:225,7'
          Dst:             setuid
        - Src:             'lib/plat/unix/unix-caps.c:226,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:226,4'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-caps.c:226,4'
          Dst:             strerror
        - Src:             'lib/plat/unix/unix-caps.c:226,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:226,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:231,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:231,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:231,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:246,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:246,3'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:246,3'
          Dst:             lws_log_prepend_context
    - 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:    2
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - 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:    lws_plat_user_colon_group_to_ids
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-caps.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 108
      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
        - getgrnam_r
        - getpwnam_r
        - strchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-caps.c:54,16'
          Dst:             strchr
        - Src:             'lib/plat/unix/unix-caps.c:76,7'
          Dst:             getgrnam_r
        - Src:             'lib/plat/unix/unix-caps.c:82,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-caps.c:94,7'
          Dst:             getpwnam_r
        - Src:             'lib/plat/unix/unix-caps.c:100,4'
          Dst:             _lws_log
    - functionName:    lws_plat_context_late_destroy
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 257
      functionLinenumberEnd: 275
      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:264,3'
          Dst:             lws_realloc
        - Src:             'lib/plat/unix/unix-init.c:267,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-init.c:269,3'
          Dst:             close
    - functionName:    lws_plat_context_early_destroy
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 253
      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: 242
      functionLinenumberEnd: 247
      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:244,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:         19
      ICount:          143
      EdgeCount:       24
      CyclomaticComplexity: 7
      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: 105
      functionLinenumberEnd: 238
      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:130,24'
          Dst:             lws_zalloc
        - Src:             'lib/plat/unix/unix-init.c:134,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-init.c:134,3'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-init.c:134,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-init.c:166,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-init.c:166,2'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-init.c:166,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-init.c:170,7'
          Dst:             lws_open
        - Src:             'lib/plat/unix/unix-init.c:176,3'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-init.c:176,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-init.c:184,19'
          Dst:             getenv
        - Src:             'lib/plat/unix/unix-init.c:233,2'
          Dst:             lws_now_usecs
        - Src:             'lib/plat/unix/unix-init.c:233,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: 99
      functionLinenumberEnd: 102
      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: 95
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          96
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - close
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-pipe.c:88,3'
          Dst:             close
        - Src:             'lib/plat/unix/unix-pipe.c:92,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: 631
      functionLinenumberEnd: 632
      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: 567
      functionLinenumberEnd: 627
      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:575,2'
          Dst:             lws_strncpy
        - Src:             'lib/plat/unix/unix-sockets.c:577,2'
          Dst:             lws_plat_if_up
        - Src:             'lib/plat/unix/unix-sockets.c:580,6'
          Dst:             ioctl
        - Src:             'lib/plat/unix/unix-sockets.c:581,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:592,7'
          Dst:             ioctl
        - Src:             'lib/plat/unix/unix-sockets.c:593,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:597,3'
          Dst:             lws_plat_if_up
        - Src:             'lib/plat/unix/unix-sockets.c:611,7'
          Dst:             ioctl
        - Src:             'lib/plat/unix/unix-sockets.c:612,4'
          Dst:             htonl
        - Src:             'lib/plat/unix/unix-sockets.c:612,4'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-sockets.c:612,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:619,3'
          Dst:             lws_plat_if_up
    - functionName:    lws_plat_if_up
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 512
      functionLinenumberEnd: 540
      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:517,2'
          Dst:             lws_strncpy
        - Src:             'lib/plat/unix/unix-sockets.c:519,6'
          Dst:             ioctl
        - Src:             'lib/plat/unix/unix-sockets.c:520,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:529,6'
          Dst:             ioctl
        - Src:             'lib/plat/unix/unix-sockets.c:530,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:    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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_plat_BINDTODEVICE
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 544
      functionLinenumberEnd: 563
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - _lws_log
        - lws_strncpy
        - setsockopt
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-sockets.c:550,2'
          Dst:             lws_strncpy
        - Src:             'lib/plat/unix/unix-sockets.c:552,6'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:553,3'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-sockets.c:553,3'
          Dst:             _lws_log
    - functionName:    lws_plat_rawudp_broadcast
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 473
      functionLinenumberEnd: 502
      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:485,26'
          Dst:             ntohs
        - Src:             'lib/plat/unix/unix-sockets.c:497,32'
          Dst:             htons
        - Src:             'lib/plat/unix/unix-sockets.c:499,25'
          Dst:             if_nametoindex
        - Src:             'lib/plat/unix/unix-sockets.c:502,14'
          Dst:             sendto
    - functionName:    if_nametoindex
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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: 450
      functionLinenumberEnd: 468
      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:455,2'
          Dst:             lws_strncpy
        - Src:             'lib/plat/unix/unix-sockets.c:457,6'
          Dst:             ioctl
    - functionName:    lws_plat_inet_pton
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 444
      functionLinenumberEnd: 445
      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:445,9'
          Dst:             inet_pton
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_plat_inet_ntop
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 438
      functionLinenumberEnd: 439
      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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-sockets.c:439,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: 339
      functionLinenumberEnd: 433
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          157
      EdgeCount:       36
      CyclomaticComplexity: 9
      functionsReached:
        - __errno_location
        - _lws_log
        - freeifaddrs
        - getifaddrs
        - lws_sa46_parse_numeric_address
        - strcmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/plat/unix/unix-sockets.c:367,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/plat/unix/unix-sockets.c:351,6'
          Dst:             getifaddrs
        - Src:             'lib/plat/unix/unix-sockets.c:352,3'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-sockets.c:352,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:360,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:364,7'
          Dst:             strcmp
        - Src:             'lib/plat/unix/unix-sockets.c:426,2'
          Dst:             freeifaddrs
        - Src:             'lib/plat/unix/unix-sockets.c:429,7'
          Dst:             lws_sa46_parse_numeric_address
    - functionName:    getifaddrs
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    freeifaddrs
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_plat_set_socket_options_ip
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 224
      functionLinenumberEnd: 323
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          169
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - _lws_log
        - setsockopt
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-sockets.c:254,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:257,9'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-sockets.c:258,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:263,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:269,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:272,9'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-sockets.c:273,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:278,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:297,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:309,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:312,9'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-sockets.c:313,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:318,4'
          Dst:             _lws_log
    - functionName:    lws_plat_set_socket_options
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 195
      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:119,8'
          Dst:             fcntl
        - Src:             'lib/plat/unix/unix-sockets.c:124,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:144,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:149,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:154,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:159,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:167,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:169,16'
          Dst:             strlen
        - Src:             'lib/plat/unix/unix-sockets.c:168,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:170,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:186,19'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:194,9'
          Dst:             lws_plat_set_nonblocking
    - functionName:    lws_plat_set_nonblocking
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - fcntl
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-sockets.c:102,9'
          Dst:             fcntl
    - functionName:    lws_send_pipe_choked
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 97
      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:67,12'
          Dst:             lws_get_network_wsi
        - Src:             'lib/plat/unix/unix-sockets.c:76,6'
          Dst:             lws_has_buffered_out
        - Src:             'lib/plat/unix/unix-sockets.c:88,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:    1
      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:    2
      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:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_alpn_comma_to_openssl
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 276
      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: 211
      functionLinenumberEnd: 237
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          121
      EdgeCount:       22
      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:217,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/tls/tls-network.c:217,2'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:217,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/tls/tls-network.c:222,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/tls/tls-network.c:228,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/tls/tls-network.c:230,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/tls/tls-network.c:230,5'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:230,5'
          Dst:             lws_log_prepend_context
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 235
      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_tls_cert_updated
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 187
      functionLinenumberEnd: 206
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          131
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_vhost
        - lws_tls_server_certs_load
        - lwsl_vhost_get_cx
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:195,8'
          Dst:             strcmp
        - Src:             'lib/tls/tls-network.c:196,8'
          Dst:             strcmp
        - Src:             'lib/tls/tls-network.c:197,4'
          Dst:             lws_tls_server_certs_load
        - Src:             'lib/tls/tls-network.c:202,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls-network.c:202,5'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:202,5'
          Dst:             lws_log_prepend_vhost
    - functionName:    lws_tls_generic_cert_checks
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 176
      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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:156,11'
          Dst:             lws_tls_use_any_upgrade_check_extant
        - Src:             'lib/tls/tls-network.c:159,11'
          Dst:             lws_tls_use_any_upgrade_check_extant
        - Src:             'lib/tls/tls-network.c:165,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls-network.c:165,3'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:165,3'
          Dst:             lws_log_prepend_vhost
    - functionName:    lws_tls_check_all_cert_lifetimes
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 129
      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:123,7'
          Dst:             lws_tls_check_cert_lifetime
    - functionName:    lws_tls_check_cert_lifetime
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 115
      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:87,23'
          Dst:             lws_now_secs
        - Src:             'lib/tls/tls-network.c:98,7'
          Dst:             lws_tls_vhost_cert_info
        - Src:             'lib/tls/tls-network.c:104,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls-network.c:104,3'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:104,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/tls/tls-network.c:107,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls-network.c:107,3'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:107,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/tls/tls-network.c:111,2'
          Dst:             lws_broadcast
    - functionName:    lws_ssl_remove_wsi_from_buffered_list
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 81
      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:79,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: 69
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_remove
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:70,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: 64
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          156
      EdgeCount:       19
      CyclomaticComplexity: 6
      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: 158
      functionLinenumberEnd: 176
      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_context_init_ssl_library
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          71
      EdgeCount:       15
      CyclomaticComplexity: 5
      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:94,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/tls/openssl/openssl-tls.c:94,2'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/openssl/openssl-tls.c:94,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/tls/openssl/openssl-tls.c:101,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/tls/openssl/openssl-tls.c:101,4'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/openssl/openssl-tls.c:101,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/tls/openssl/openssl-tls.c:108,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/tls/openssl/openssl-tls.c:108,2'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/openssl/openssl-tls.c:108,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/tls/openssl/openssl-tls.c:115,2'
          Dst:             OPENSSL_init_ssl
        - Src:             'lib/tls/openssl/openssl-tls.c:120,4'
          Dst:             CRYPTO_get_ex_new_index
        - Src:             'lib/tls/openssl/openssl-tls.c:123,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: 36
      functionLinenumberEnd: 49
      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:41,7'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-tls.c:45,22'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-tls.c:45,3'
          Dst:             ERR_error_string_n
        - Src:             'lib/tls/openssl/openssl-tls.c:46,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-tls.c:48,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:    9
      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: 32
      functionLinenumberEnd: 33
      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_destroy
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 850
      functionLinenumberEnd: 860
      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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:855,3'
          Dst:             X509_free
        - Src:             'lib/tls/openssl/openssl-x509.c:859,2'
          Dst:             lws_realloc
    - 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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_x509_verify
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 454
      functionLinenumberEnd: 484
      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:459,19'
          Dst:             X509_get_subject_name
        - Src:             'lib/tls/openssl/openssl-x509.c:462,3'
          Dst:             X509_NAME_oneline
        - Src:             'lib/tls/openssl/openssl-x509.c:463,7'
          Dst:             strstr
        - Src:             'lib/tls/openssl/openssl-x509.c:469,7'
          Dst:             strcmp
        - Src:             'lib/tls/openssl/openssl-x509.c:470,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-x509.c:475,8'
          Dst:             X509_check_issued
        - Src:             'lib/tls/openssl/openssl-x509.c:477,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-x509.c:478,3'
          Dst:             lws_tls_err_describe_clear
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - 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: 435
      functionLinenumberEnd: 449
      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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:436,21'
          Dst:             BIO_s_mem
        - Src:             'lib/tls/openssl/openssl-x509.c:436,13'
          Dst:             BIO_new
        - Src:             'lib/tls/openssl/openssl-x509.c:438,2'
          Dst:             BIO_write
        - Src:             'lib/tls/openssl/openssl-x509.c:439,15'
          Dst:             PEM_read_bio_X509
        - Src:             'lib/tls/openssl/openssl-x509.c:440,2'
          Dst:             BIO_free
        - Src:             'lib/tls/openssl/openssl-x509.c:442,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-x509.c:443,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:    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:    1
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_x509_create
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 425
      functionLinenumberEnd: 430
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_realloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:426,10'
          Dst:             lws_realloc
    - functionName:    lws_tls_peer_cert_info
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 394
      functionLinenumberEnd: 420
      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:408,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:398,8'
          Dst:             lws_get_network_wsi
        - Src:             'lib/tls/openssl/openssl-x509.c:400,9'
          Dst:             SSL_get_peer_certificate
        - Src:             'lib/tls/openssl/openssl-x509.c:403,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-x509.c:410,19'
          Dst:             SSL_get_verify_result
        - Src:             'lib/tls/openssl/openssl-x509.c:414,8'
          Dst:             lws_tls_openssl_cert_info
        - Src:             'lib/tls/openssl/openssl-x509.c:417,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: 83
      functionLinenumberEnd: 364
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         126
      ICount:          865
      EdgeCount:       170
      CyclomaticComplexity: 46
      functionsReached:
        - 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:110,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:113,6'
          Dst:             X509_getm_notBefore
        - Src:             'lib/tls/openssl/openssl-x509.c:112,15'
          Dst:             lws_tls_openssl_asn1time_to_unix
        - Src:             'lib/tls/openssl/openssl-x509.c:120,6'
          Dst:             X509_getm_notAfter
        - Src:             'lib/tls/openssl/openssl-x509.c:119,15'
          Dst:             lws_tls_openssl_asn1time_to_unix
        - Src:             'lib/tls/openssl/openssl-x509.c:129,8'
          Dst:             X509_get_subject_name
        - Src:             'lib/tls/openssl/openssl-x509.c:132,3'
          Dst:             X509_NAME_oneline
        - Src:             'lib/tls/openssl/openssl-x509.c:133,7'
          Dst:             strstr
        - Src:             'lib/tls/openssl/openssl-x509.c:136,9'
          Dst:             strchr
        - Src:             'lib/tls/openssl/openssl-x509.c:140,10'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:144,22'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:148,8'
          Dst:             X509_get_issuer_name
        - Src:             'lib/tls/openssl/openssl-x509.c:151,3'
          Dst:             X509_NAME_oneline
        - Src:             'lib/tls/openssl/openssl-x509.c:152,22'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:157,16'
          Dst:             X509_get_key_usage
        - Src:             'lib/tls/openssl/openssl-x509.c:166,47'
          Dst:             X509_get_X509_PUBKEY
        - Src:             'lib/tls/openssl/openssl-x509.c:166,31'
          Dst:             i2d_X509_PUBKEY
        - Src:             'lib/tls/openssl/openssl-x509.c:172,20'
          Dst:             CRYPTO_malloc
        - Src:             'lib/tls/openssl/openssl-x509.c:178,10'
          Dst:             X509_get_X509_PUBKEY
        - Src:             'lib/tls/openssl/openssl-x509.c:177,7'
          Dst:             i2d_X509_PUBKEY
        - Src:             'lib/tls/openssl/openssl-x509.c:180,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-x509.c:183,5'
          Dst:             CRYPTO_free
        - Src:             'lib/tls/openssl/openssl-x509.c:190,3'
          Dst:             CRYPTO_free
        - Src:             'lib/tls/openssl/openssl-x509.c:196,17'
          Dst:             i2d_X509
        - Src:             'lib/tls/openssl/openssl-x509.c:204,13'
          Dst:             i2d_X509
        - Src:             'lib/tls/openssl/openssl-x509.c:214,9'
          Dst:             X509_get_ext_by_NID
        - Src:             'lib/tls/openssl/openssl-x509.c:218,9'
          Dst:             X509_get_ext
        - Src:             'lib/tls/openssl/openssl-x509.c:222,29'
          Dst:             X509V3_EXT_d2i
        - Src:             'lib/tls/openssl/openssl-x509.c:238,3'
          Dst:             AUTHORITY_KEYID_free
        - Src:             'lib/tls/openssl/openssl-x509.c:242,9'
          Dst:             X509_get_ext_by_NID
        - Src:             'lib/tls/openssl/openssl-x509.c:246,9'
          Dst:             X509_get_ext
        - Src:             'lib/tls/openssl/openssl-x509.c:251,29'
          Dst:             X509V3_EXT_d2i
        - Src:             'lib/tls/openssl/openssl-x509.c:260,38'
          Dst:             X509V3_EXT_get
        - Src:             'lib/tls/openssl/openssl-x509.c:268,9'
          Dst:             i2v_GENERAL_NAMES
        - Src:             'lib/tls/openssl/openssl-x509.c:272,27'
          Dst:             OPENSSL_sk_num
        - Src:             'lib/tls/openssl/openssl-x509.c:273,34'
          Dst:             OPENSSL_sk_value
        - Src:             'lib/tls/openssl/openssl-x509.c:274,41'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:275,35'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:294,3'
          Dst:             AUTHORITY_KEYID_free
        - Src:             'lib/tls/openssl/openssl-x509.c:299,9'
          Dst:             X509_get_ext_by_NID
        - Src:             'lib/tls/openssl/openssl-x509.c:303,9'
          Dst:             X509_get_ext
        - Src:             'lib/tls/openssl/openssl-x509.c:306,29'
          Dst:             X509V3_EXT_d2i
        - Src:             'lib/tls/openssl/openssl-x509.c:325,9'
          Dst:             X509_get_ext_by_NID
        - Src:             'lib/tls/openssl/openssl-x509.c:329,9'
          Dst:             X509_get_ext
        - Src:             'lib/tls/openssl/openssl-x509.c:333,9'
          Dst:             X509_EXTENSION_get_data
        - Src:             'lib/tls/openssl/openssl-x509.c:342,7'
          Dst:             ASN1_get_object
        - Src:             'lib/tls/openssl/openssl-x509.c:347,4'
          Dst:             _lws_log
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_openssl_asn1time_to_unix
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          167
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - dec
        - mktime
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:49,6'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:50,16'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:50,34'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:55,17'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:55,38'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:56,9'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:56,27'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:59,14'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:59,32'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:61,15'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:61,33'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:63,15'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:63,33'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:65,14'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:65,32'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:67,14'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:67,32'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:70,9'
          Dst:             mktime
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - 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:    2
      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:    2
      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:    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:    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:    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:    1
      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: 377
      functionLinenumberEnd: 381
      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:379,15'
          Dst:             SSL_CTX_get0_certificate
        - Src:             'lib/tls/openssl/openssl-x509.c:381,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: 369
      functionLinenumberEnd: 370
      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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:370,9'
          Dst:             lws_tls_openssl_cert_info
    - functionName:    tops_fake_POLLIN_for_buffered_openssl
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 599
      functionLinenumberEnd: 600
      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:600,9'
          Dst:             lws_tls_fake_POLLIN_for_buffered
    - functionName:    __lws_tls_shutdown
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 558
      functionLinenumberEnd: 594
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          112
      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:569,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:562,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-ssl.c:566,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-ssl.c:567,6'
          Dst:             SSL_shutdown
        - Src:             'lib/tls/openssl/openssl-ssl.c:568,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:571,7'
          Dst:             shutdown
        - Src:             'lib/tls/openssl/openssl-ssl.c:575,3'
          Dst:             __lws_change_pollfd
        - Src:             'lib/tls/openssl/openssl-ssl.c:579,7'
          Dst:             SSL_get_error
        - Src:             'lib/tls/openssl/openssl-ssl.c:581,8'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-ssl.c:582,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:583,5'
          Dst:             __lws_change_pollfd
        - Src:             'lib/tls/openssl/openssl-ssl.c:586,8'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-ssl.c:587,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:588,5'
          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: 549
      functionLinenumberEnd: 554
      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:553,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: 521
      functionLinenumberEnd: 545
      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: 506
      functionLinenumberEnd: 517
      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:508,3'
          Dst:             SSL_CTX_free
        - Src:             'lib/tls/openssl/openssl-ssl.c:511,2'
          Dst:             lws_ssl_destroy_client_ctx
    - 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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ssl_destroy_client_ctx
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 177
      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:167,2'
          Dst:             SSL_CTX_free
        - Src:             'lib/tls/openssl/openssl-ssl.c:173,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/tls/openssl/openssl-ssl.c:174,3'
          Dst:             lws_realloc
    - functionName:    lws_ssl_close
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 465
      functionLinenumberEnd: 502
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          93
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - SSL_free
        - SSL_get_fd
        - SSL_set_info_callback
        - SSL_shutdown
        - close
        - lws_tls_restrict_return
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:476,3'
          Dst:             SSL_set_info_callback
        - Src:             'lib/tls/openssl/openssl-ssl.c:488,6'
          Dst:             SSL_get_fd
        - Src:             'lib/tls/openssl/openssl-ssl.c:490,3'
          Dst:             SSL_shutdown
        - Src:             'lib/tls/openssl/openssl-ssl.c:491,2'
          Dst:             close
        - Src:             'lib/tls/openssl/openssl-ssl.c:492,2'
          Dst:             SSL_free
        - Src:             'lib/tls/openssl/openssl-ssl.c:495,2'
          Dst:             lws_tls_restrict_return
    - 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: 424
      functionLinenumberEnd: 460
      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:432,6'
          Dst:             SSL_get_SSL_CTX
        - Src:             'lib/tls/openssl/openssl-ssl.c:431,34'
          Dst:             SSL_CTX_get_ex_data
        - Src:             'lib/tls/openssl/openssl-ssl.c:442,7'
          Dst:             SSL_get_fd
        - Src:             'lib/tls/openssl/openssl-ssl.c:446,8'
          Dst:             wsi_from_fd
        - Src:             'lib/tls/openssl/openssl-ssl.c:456,6'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/tls/openssl/openssl-ssl.c:459,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: 362
      functionLinenumberEnd: 420
      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:377,10'
          Dst:             lws_ssl_capable_write_no_ssl
        - Src:             'lib/tls/openssl/openssl-ssl.c:379,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-ssl.c:380,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-ssl.c:381,6'
          Dst:             SSL_write
        - Src:             'lib/tls/openssl/openssl-ssl.c:391,6'
          Dst:             lws_ssl_get_error
        - Src:             'lib/tls/openssl/openssl-ssl.c:393,35'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-ssl.c:394,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:399,36'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-ssl.c:402,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:408,2'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-ssl.c:408,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:409,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: 85
      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:    6
      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:73,5'
          Dst:             lws_strncpy
        - Src:             'lib/tls/openssl/openssl-ssl.c:79,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: 353
      functionLinenumberEnd: 358
      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:357,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: 220
      functionLinenumberEnd: 349
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          253
      EdgeCount:       50
      CyclomaticComplexity: 15
      functionsReached:
        - ERR_clear_error
        - SSL_pending
        - SSL_read
        - SSL_want
        - __errno_location
        - __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:226,10'
          Dst:             lws_ssl_capable_read_no_ssl
        - Src:             'lib/tls/openssl/openssl-ssl.c:229,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-ssl.c:233,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-ssl.c:234,6'
          Dst:             SSL_read
        - Src:             'lib/tls/openssl/openssl-ssl.c:242,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/tls/openssl/openssl-ssl.c:242,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:268,7'
          Dst:             lws_ssl_get_error
        - Src:             'lib/tls/openssl/openssl-ssl.c:269,16'
          Dst:             lws_wsi_tag
        - Src:             'lib/tls/openssl/openssl-ssl.c:269,16'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-ssl.c:269,16'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:274,7'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-ssl.c:279,9'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-ssl.c:295,7'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-ssl.c:296,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:297,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/tls/openssl/openssl-ssl.c:297,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:300,7'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-ssl.c:301,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:302,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/tls/openssl/openssl-ssl.c:302,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:304,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/tls/openssl/openssl-ssl.c:337,6'
          Dst:             SSL_pending
        - Src:             'lib/tls/openssl/openssl-ssl.c:338,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/tls/openssl/openssl-ssl.c:339,4'
          Dst:             lws_dll2_add_head
        - Src:             'lib/tls/openssl/openssl-ssl.c:342,3'
          Dst:             __lws_ssl_remove_wsi_from_buffered_list
        - Src:             'lib/tls/openssl/openssl-ssl.c:346,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: 181
      functionLinenumberEnd: 216
      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:187,3'
          Dst:             SSL_CTX_free
        - Src:             'lib/tls/openssl/openssl-ssl.c:189,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: 91
      functionLinenumberEnd: 98
      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:95,2'
          Dst:             strncpy
        - Src:             'lib/tls/openssl/openssl-ssl.c:98,14'
          Dst:             strlen
    - functionName:    lws_context_init_ssl_pem_passwd_client_cb
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 117
      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:114,2'
          Dst:             strncpy
        - Src:             'lib/tls/openssl/openssl-ssl.c:117,14'
          Dst:             strlen
    - functionName:    lws_ssl_bind_passphrase
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 155
      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:142,2'
          Dst:             SSL_CTX_set_default_passwd_cb_userdata
        - Src:             'lib/tls/openssl/openssl-ssl.c:143,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: 160
      functionLinenumberEnd: 170
      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:167,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: 235
      functionLinenumberEnd: 235
      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: 174
      functionLinenumberEnd: 208
      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:176,14'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-session.c:189,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:192,4'
          Dst:             __lws_tls_session_destroy
        - Src:             'lib/tls/openssl/openssl-session.c:197,7'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-session.c:205,2'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_tls_session_dump_load
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 421
      functionLinenumberEnd: 491
      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:431,2'
          Dst:             lws_tls_session_tag_discrete
        - Src:             'lib/tls/openssl/openssl-session.c:436,7'
          Dst:             __lws_tls_session_lookup_by_name
        - Src:             'lib/tls/openssl/openssl-session.c:443,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:449,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:458,9'
          Dst:             d2i_SSL_SESSION
        - Src:             'lib/tls/openssl/openssl-session.c:462,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:467,7'
          Dst:             lws_tls_session_add_entry
        - Src:             'lib/tls/openssl/openssl-session.c:471,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:476,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:484,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:         9
      ICount:          58
      EdgeCount:       11
      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: 369
      functionLinenumberEnd: 416
      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:378,2'
          Dst:             lws_tls_session_tag_discrete
        - Src:             'lib/tls/openssl/openssl-session.c:383,7'
          Dst:             __lws_tls_session_lookup_by_name
        - Src:             'lib/tls/openssl/openssl-session.c:389,7'
          Dst:             i2d_SSL_SESSION
        - Src:             'lib/tls/openssl/openssl-session.c:394,15'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-session.c:399,3'
          Dst:             i2d_SSL_SESSION
        - Src:             'lib/tls/openssl/openssl-session.c:404,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:408,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: 212
      functionLinenumberEnd: 298
      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:213,34'
          Dst:             SSL_get_ex_data
        - Src:             'lib/tls/openssl/openssl-session.c:224,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:233,6'
          Dst:             lws_tls_session_tag_from_wsi
        - Src:             'lib/tls/openssl/openssl-session.c:238,8'
          Dst:             SSL_SESSION_get_timeout
        - Src:             'lib/tls/openssl/openssl-session.c:243,7'
          Dst:             __lws_tls_session_lookup_by_name
        - Src:             'lib/tls/openssl/openssl-session.c:246,8'
          Dst:             lws_tls_session_add_entry
        - Src:             'lib/tls/openssl/openssl-session.c:251,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/tls/openssl/openssl-session.c:251,3'
          Dst:             lws_tls_session_expiry_cb
        - Src:             'lib/tls/openssl/openssl-session.c:269,3'
          Dst:             SSL_SESSION_free
        - Src:             'lib/tls/openssl/openssl-session.c:273,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/tls/openssl/openssl-session.c:274,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/tls/openssl/openssl-session.c:282,2'
          Dst:             _lws_log
    - 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:    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: 343
      functionLinenumberEnd: 364
      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:349,10'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-session.c:351,2'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-session.c:354,2'
          Dst:             SSL_CTX_sess_set_new_cb
        - Src:             'lib/tls/openssl/openssl-session.c:354,2'
          Dst:             lws_tls_session_new_cb
        - Src:             'lib/tls/openssl/openssl-session.c:362,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: 143
      functionLinenumberEnd: 148
      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:146,2'
          Dst:             __lws_tls_session_destroy
    - functionName:    lws_tls_session_vh_destroy
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 156
      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:154,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/tls/openssl/openssl-session.c:154,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: 128
      functionLinenumberEnd: 139
      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:130,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/tls/openssl/openssl-session.c:135,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: 124
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          123
      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: 159
      functionLinenumberEnd: 171
      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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/lws-genhash.c:160,24'
          Dst:             lws_genhmac_size
        - Src:             'lib/tls/openssl/lws-genhash.c:163,6'
          Dst:             EVP_DigestSignFinal
        - Src:             'lib/tls/openssl/lws-genhash.c:164,2'
          Dst:             EVP_MD_CTX_free
        - Src:             'lib/tls/openssl/lws-genhash.c:165,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:    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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_genhmac_update
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/lws-genhash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 155
      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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/lws-genhash.c:151,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:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_genhmac_init
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/lws-genhash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          125
      EdgeCount:       19
      CyclomaticComplexity: 4
      functionsReached:
        - EVP_DigestSignInit
        - EVP_MD_CTX_free
        - EVP_MD_CTX_new
        - EVP_PKEY_free
        - EVP_PKEY_new_raw_private_key
        - EVP_sha256
        - EVP_sha384
        - EVP_sha512
        - _lws_log
      functionUses:    0
      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_sha256
        - Src:             'lib/tls/openssl/lws-genhash.c:120,19'
          Dst:             EVP_sha384
        - Src:             'lib/tls/openssl/lws-genhash.c:123,19'
          Dst:             EVP_sha512
        - Src:             'lib/tls/openssl/lws-genhash.c:126,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/lws-genhash.c:130,13'
          Dst:             EVP_PKEY_new_raw_private_key
        - Src:             'lib/tls/openssl/lws-genhash.c:134,6'
          Dst:             EVP_DigestSignInit
        - Src:             'lib/tls/openssl/lws-genhash.c:140,2'
          Dst:             EVP_PKEY_free
        - Src:             'lib/tls/openssl/lws-genhash.c:142,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_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:    3
      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: 83
      functionLinenumberEnd: 99
      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:91,9'
          Dst:             EVP_DigestFinal_ex
        - Src:             'lib/tls/openssl/lws-genhash.c:95,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: 74
      functionLinenumberEnd: 79
      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:78,9'
          Dst:             EVP_DigestUpdate
    - functionName:    lws_genhash_init
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/lws-genhash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 70
      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:43,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/openssl/lws-genhash.c:39,15'
          Dst:             EVP_MD_CTX_new
        - Src:             'lib/tls/openssl/lws-genhash.c:45,19'
          Dst:             EVP_md5
        - Src:             'lib/tls/openssl/lws-genhash.c:48,19'
          Dst:             EVP_sha1
        - Src:             'lib/tls/openssl/lws-genhash.c:51,19'
          Dst:             EVP_sha256
        - Src:             'lib/tls/openssl/lws-genhash.c:54,19'
          Dst:             EVP_sha384
        - Src:             'lib/tls/openssl/lws-genhash.c:57,19'
          Dst:             EVP_sha512
        - Src:             'lib/tls/openssl/lws-genhash.c:63,6'
          Dst:             EVP_DigestInit_ex
        - Src:             'lib/tls/openssl/lws-genhash.c:64,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_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:    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: 129
      functionLinenumberEnd: 373
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         82
      ICount:          511
      EdgeCount:       107
      CyclomaticComplexity: 27
      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_ctx_from_wsi
        - lws_tls_restrict_borrow
        - lws_tls_restrict_return
        - lws_tls_restrict_return_handshake
        - lws_tls_server_abort_connection
        - lws_tls_server_accept
        - lws_tls_server_conn_alpn
        - lws_tls_server_new_nonblocking
        - lws_vhost_bind_wsi
        - lwsi_set_state
        - recv
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib/tls/tls-server.c:139,2'
          Branch Sides:    []
        - Branch String:   'lib/tls/tls-server.c:321,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/tls-server.c:143,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:145,4'
          Dst:             __assert_fail
        - Src:             'lib/tls/tls-server.c:147,7'
          Dst:             lws_tls_restrict_borrow
        - Src:             'lib/tls/tls-server.c:148,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:152,7'
          Dst:             lws_tls_server_new_nonblocking
        - Src:             'lib/tls/tls-server.c:153,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:155,5'
          Dst:             close
        - Src:             'lib/tls/tls-server.c:156,4'
          Dst:             lws_tls_restrict_return
        - Src:             'lib/tls/tls-server.c:165,3'
          Dst:             lwsi_set_state
        - Src:             'lib/tls/tls-server.c:168,7'
          Dst:             __insert_wsi_socket_into_fds
        - Src:             'lib/tls/tls-server.c:169,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:174,3'
          Dst:             lws_set_timeout
        - Src:             'lib/tls/tls-server.c:177,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:183,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/tls/tls-server.c:184,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:194,8'
          Dst:             recv
        - Src:             'lib/tls/tls-server.c:234,5'
          Dst:             lws_tls_server_abort_connection
        - Src:             'lib/tls/tls-server.c:243,6'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:251,6'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:259,10'
          Dst:             lws_http_to_fallback
        - Src:             'lib/tls/tls-server.c:261,6'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:266,5'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:278,5'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:295,18'
          Dst:             __errno_location
        - Src:             'lib/tls/tls-server.c:296,11'
          Dst:             __errno_location
        - Src:             'lib/tls/tls-server.c:305,9'
          Dst:             lws_change_pollfd
        - Src:             'lib/tls/tls-server.c:306,6'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:311,5'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:318,3'
          Dst:             __errno_location
        - Src:             'lib/tls/tls-server.c:319,7'
          Dst:             lws_tls_server_accept
        - Src:             'lib/tls/tls-server.c:320,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:323,4'
          Dst:             lws_tls_restrict_return_handshake
        - Src:             'lib/tls/tls-server.c:326,4'
          Dst:             lws_tls_restrict_return_handshake
        - Src:             'lib/tls/tls-server.c:327,18'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:340,27'
          Dst:             lws_tls_ctx_from_wsi
        - Src:             'lib/tls/tls-server.c:341,5'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:342,5'
          Dst:             lws_vhost_bind_wsi
        - Src:             'lib/tls/tls-server.c:349,3'
          Dst:             lws_set_timeout
        - Src:             'lib/tls/tls-server.c:352,3'
          Dst:             lwsi_set_state
        - Src:             'lib/tls/tls-server.c:353,7'
          Dst:             lws_tls_server_conn_alpn
        - Src:             'lib/tls/tls-server.c:354,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:357,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:367,2'
          Dst:             lwsi_set_state
    - 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: 124
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          264
      EdgeCount:       44
      CyclomaticComplexity: 13
      functionsReached:
        - __lws_sul_insert
        - _lws_log
        - lws_context_init_alpn
        - lws_now_usecs
        - 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:105,3'
          Dst:             lws_tls_server_client_cert_verify_config
        - Src:             'lib/tls/tls-server.c:114,3'
          Dst:             lws_context_init_alpn
        - Src:             'lib/tls/tls-server.c:119,2'
          Dst:             lws_now_usecs
        - Src:             'lib/tls/tls-server.c:119,2'
          Dst:             __lws_sul_insert
    - functionName:    lws_tls_server_accept
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 656
      functionLinenumberEnd: 715
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         36
      ICount:          222
      EdgeCount:       49
      CyclomaticComplexity: 15
      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:661,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-server.c:662,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-server.c:663,6'
          Dst:             SSL_accept
        - Src:             'lib/tls/openssl/openssl-server.c:668,7'
          Dst:             lws_tls_peer_cert_info
        - Src:             'lib/tls/openssl/openssl-server.c:671,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:674,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:676,3'
          Dst:             lws_openssl_describe_cipher
        - Src:             'lib/tls/openssl/openssl-server.c:678,7'
          Dst:             SSL_pending
        - Src:             'lib/tls/openssl/openssl-server.c:679,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/tls/openssl/openssl-server.c:680,4'
          Dst:             lws_dll2_add_head
        - Src:             'lib/tls/openssl/openssl-server.c:686,6'
          Dst:             lws_ssl_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:687,2'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-server.c:693,37'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-server.c:694,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/tls/openssl/openssl-server.c:695,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:700,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:703,35'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-server.c:704,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:706,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/tls/openssl/openssl-server.c:707,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: 646
      functionLinenumberEnd: 651
      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:648,3'
          Dst:             SSL_shutdown
        - Src:             'lib/tls/openssl/openssl-server.c:649,2'
          Dst:             SSL_free
    - functionName:    lws_tls_server_new_nonblocking
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 595
      functionLinenumberEnd: 642
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          135
      EdgeCount:       19
      CyclomaticComplexity: 6
      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_err_describe_clear
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-server.c:600,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-server.c:601,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-server.c:602,17'
          Dst:             SSL_new
        - Src:             'lib/tls/openssl/openssl-server.c:604,3'
          Dst:             lws_ssl_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:604,3'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-server.c:604,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:607,3'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-server.c:611,2'
          Dst:             SSL_set_ex_data
        - Src:             'lib/tls/openssl/openssl-server.c:612,2'
          Dst:             SSL_set_fd
        - Src:             'lib/tls/openssl/openssl-server.c:622,2'
          Dst:             SSL_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:624,8'
          Dst:             SSL_get_rbio
        - Src:             'lib/tls/openssl/openssl-server.c:626,3'
          Dst:             BIO_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:628,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:629,8'
          Dst:             SSL_get_wbio
        - Src:             'lib/tls/openssl/openssl-server.c:631,3'
          Dst:             BIO_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:633,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:638,4'
          Dst:             SSL_set_info_callback
        - Src:             'lib/tls/openssl/openssl-server.c:638,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_ssl_server_name_cb
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          143
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - SSL_get_SSL_CTX
        - SSL_get_servername
        - SSL_set_SSL_CTX
        - __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,2'
          Dst:             SSL_set_SSL_CTX
    - 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:    1
      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:    lws_tls_server_vhost_backend_init
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 485
      functionLinenumberEnd: 591
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          335
      EdgeCount:       48
      CyclomaticComplexity: 14
      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_cipher_list
        - SSL_CTX_set_ciphersuites
        - SSL_CTX_set_ex_data
        - SSL_CTX_set_keylog_callback
        - SSL_CTX_set_options
        - TLS_server_method
        - _lws_log
        - lws_klog_dump
        - lws_ssl_bind_passphrase
        - lws_ssl_server_name_cb
        - lws_tls_server_certs_load
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-server.c:487,37'
          Dst:             TLS_server_method
        - Src:             'lib/tls/openssl/openssl-server.c:491,11'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-server.c:492,24'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:492,7'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-server.c:494,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:498,23'
          Dst:             SSL_CTX_new
        - Src:             'lib/tls/openssl/openssl-server.c:502,11'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-server.c:503,24'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:503,7'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-server.c:504,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:511,2'
          Dst:             SSL_CTX_set_keylog_callback
        - Src:             'lib/tls/openssl/openssl-server.c:511,2'
          Dst:             lws_klog_dump
        - Src:             'lib/tls/openssl/openssl-server.c:514,2'
          Dst:             SSL_CTX_set_ex_data
        - Src:             'lib/tls/openssl/openssl-server.c:518,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-server.c:521,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-server.c:531,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-server.c:532,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-server.c:535,3'
          Dst:             SSL_CTX_set_cipher_list
        - Src:             'lib/tls/openssl/openssl-server.c:539,3'
          Dst:             SSL_CTX_set_ciphersuites
        - Src:             'lib/tls/openssl/openssl-server.c:544,2'
          Dst:             SSL_CTX_callback_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:544,2'
          Dst:             lws_ssl_server_name_cb
        - Src:             'lib/tls/openssl/openssl-server.c:546,2'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:554,7'
          Dst:             SSL_CTX_load_verify_locations
        - Src:             'lib/tls/openssl/openssl-server.c:557,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:564,3'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-server.c:572,3'
          Dst:             SSL_CTX_clear_options
        - Src:             'lib/tls/openssl/openssl-server.c:575,2'
          Dst:             SSL_CTX_get_options
        - Src:             'lib/tls/openssl/openssl-server.c:575,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:583,2'
          Dst:             lws_ssl_bind_passphrase
        - Src:             'lib/tls/openssl/openssl-server.c:585,9'
          Dst:             lws_tls_server_certs_load
    - 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_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:    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:    2
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - 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_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:    lws_tls_server_certs_load
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 480
      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:180,15'
          Dst:             lws_tls_generic_cert_checks
        - Src:             'lib/tls/openssl/openssl-server.c:216,7'
          Dst:             SSL_CTX_use_certificate_chain_file
        - Src:             'lib/tls/openssl/openssl-server.c:219,12'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-server.c:220,25'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:220,8'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-server.c:222,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:229,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:233,8'
          Dst:             SSL_CTX_use_PrivateKey_file
        - Src:             'lib/tls/openssl/openssl-server.c:236,13'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-server.c:237,26'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:237,9'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-server.c:238,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:249,6'
          Dst:             lws_tls_alloc_pem_to_der_file
        - Src:             'lib/tls/openssl/openssl-server.c:251,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:257,8'
          Dst:             SSL_CTX_use_certificate_ASN1
        - Src:             'lib/tls/openssl/openssl-server.c:263,2'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-server.c:265,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:270,6'
          Dst:             lws_tls_alloc_pem_to_der_file
        - Src:             'lib/tls/openssl/openssl-server.c:273,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:279,8'
          Dst:             SSL_CTX_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-server.c:287,9'
          Dst:             SSL_CTX_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-server.c:300,2'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-server.c:302,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:393,7'
          Dst:             SSL_CTX_check_private_key
        - Src:             'lib/tls/openssl/openssl-server.c:394,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:406,13'
          Dst:             OBJ_sn2nid
        - Src:             'lib/tls/openssl/openssl-server.c:408,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:412,9'
          Dst:             EC_KEY_new_by_curve_name
        - Src:             'lib/tls/openssl/openssl-server.c:414,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:417,2'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:418,2'
          Dst:             EC_KEY_free
        - Src:             'lib/tls/openssl/openssl-server.c:420,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-server.c:422,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:425,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:432,2'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:434,7'
          Dst:             sk_X509_value
        - Src:             'lib/tls/openssl/openssl-server.c:436,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:447,9'
          Dst:             X509_get_pubkey
        - Src:             'lib/tls/openssl/openssl-server.c:449,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:454,26'
          Dst:             EVP_PKEY_id
        - Src:             'lib/tls/openssl/openssl-server.c:454,12'
          Dst:             EVP_PKEY_type
        - Src:             'lib/tls/openssl/openssl-server.c:457,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:461,11'
          Dst:             EVP_PKEY_get1_EC_KEY
        - Src:             'lib/tls/openssl/openssl-server.c:464,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:467,2'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:469,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:    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:    1
      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:    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:    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:    1
      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_ssl_client_connect1
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 55
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          76
      EdgeCount:       23
      CyclomaticComplexity: 13
      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:50,3'
          Dst:             lwsi_set_state
    - functionName:    lws_client_create_tls
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 189
      functionLinenumberEnd: 238
      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:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-client.c:199,8'
          Dst:             lws_tls_restrict_borrow
        - Src:             'lib/tls/tls-client.c:204,8'
          Dst:             lws_ssl_client_bio_create
        - Src:             'lib/tls/tls-client.c:216,23'
          Dst:             lws_now_usecs
        - Src:             'lib/tls/tls-client.c:219,7'
          Dst:             lws_ssl_client_connect1
        - Src:             'lib/tls/tls-client.c:221,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-client.c:232,3'
          Dst:             lws_tls_server_conn_alpn
    - functionName:    lws_context_init_client_ssl
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 185
      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:158,6'
          Dst:             lws_tls_client_create_vhost_context
        - Src:             'lib/tls/tls-client.c:171,2'
          Dst:             _lws_log
    - functionName:    lws_ssl_client_connect2
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          118
      EdgeCount:       22
      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:66,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/tls-client.c:63,7'
          Dst:             lws_tls_client_connect
        - Src:             'lib/tls/tls-client.c:64,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-client.c:68,4'
          Dst:             lws_tls_restrict_return_handshake
        - Src:             'lib/tls/tls-client.c:70,8'
          Dst:             lws_tls_client_confirm_peer_cert
        - Src:             'lib/tls/tls-client.c:80,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/tls/tls-client.c:83,4'
          Dst:             lwsi_set_state
        - Src:             'lib/tls/tls-client.c:90,2'
          Dst:             lws_tls_restrict_return_handshake
        - Src:             'lib/tls/tls-client.c:92,6'
          Dst:             lws_tls_client_confirm_peer_cert
        - Src:             'lib/tls/tls-client.c:100,7'
          Dst:             lws_now_usecs
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 235
      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: 703
      functionLinenumberEnd: 1095
      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:         148
      ICount:          1054
      EdgeCount:       201
      CyclomaticComplexity: 55
      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_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:719,25'
          Dst:             TLS_client_method
        - Src:             'lib/tls/openssl/openssl-client.c:729,11'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-client.c:730,25'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-client.c:730,8'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-client.c:731,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:748,11'
          Dst:             EVP_MD_CTX_new
        - Src:             'lib/tls/openssl/openssl-client.c:752,31'
          Dst:             EVP_sha256
        - Src:             'lib/tls/openssl/openssl-client.c:752,6'
          Dst:             EVP_DigestInit_ex
        - Src:             'lib/tls/openssl/openssl-client.c:753,3'
          Dst:             EVP_MD_CTX_free
        - Src:             'lib/tls/openssl/openssl-client.c:759,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:764,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:769,40'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:769,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:774,6'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:773,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:779,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:783,40'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:783,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:786,42'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:786,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:790,6'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:789,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:792,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:795,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:798,2'
          Dst:             EVP_DigestFinal_ex
        - Src:             'lib/tls/openssl/openssl-client.c:799,2'
          Dst:             EVP_MD_CTX_free
        - Src:             'lib/tls/openssl/openssl-client.c:803,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/tls/openssl/openssl-client.c:807,8'
          Dst:             memcmp
        - Src:             'lib/tls/openssl/openssl-client.c:815,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:825,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-client.c:826,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-client.c:827,27'
          Dst:             SSL_CTX_new
        - Src:             'lib/tls/openssl/openssl-client.c:831,11'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-client.c:832,25'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-client.c:832,8'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-client.c:833,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:838,2'
          Dst:             SSL_CTX_set_ex_data
        - Src:             'lib/tls/openssl/openssl-client.c:842,2'
          Dst:             lws_plat_vhost_tls_client_ctx_init
        - Src:             'lib/tls/openssl/openssl-client.c:844,8'
          Dst:             lws_zalloc
        - Src:             'lib/tls/openssl/openssl-client.c:846,3'
          Dst:             SSL_CTX_free
        - Src:             'lib/tls/openssl/openssl-client.c:854,2'
          Dst:             lws_dll2_add_head
        - Src:             'lib/tls/openssl/openssl-client.c:856,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:866,3'
          Dst:             SSL_CTX_set_keylog_callback
        - Src:             'lib/tls/openssl/openssl-client.c:866,3'
          Dst:             lws_klog_dump
        - Src:             'lib/tls/openssl/openssl-client.c:872,2'
          Dst:             lws_tls_session_cache
        - Src:             'lib/tls/openssl/openssl-client.c:876,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-client.c:879,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-client.c:882,2'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-client.c:889,3'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-client.c:896,3'
          Dst:             SSL_CTX_clear_options
        - Src:             'lib/tls/openssl/openssl-client.c:900,3'
          Dst:             SSL_CTX_set_cipher_list
        - Src:             'lib/tls/openssl/openssl-client.c:904,3'
          Dst:             SSL_CTX_set_ciphersuites
        - Src:             'lib/tls/openssl/openssl-client.c:911,3'
          Dst:             SSL_CTX_set_default_verify_paths
        - Src:             'lib/tls/openssl/openssl-client.c:920,8'
          Dst:             SSL_CTX_load_verify_locations
        - Src:             'lib/tls/openssl/openssl-client.c:923,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:932,8'
          Dst:             SSL_CTX_load_verify_locations
        - Src:             'lib/tls/openssl/openssl-client.c:935,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:939,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:942,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:949,7'
          Dst:             lws_tls_alloc_pem_to_der_file
        - Src:             'lib/tls/openssl/openssl-client.c:951,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:952,4'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/tls/openssl/openssl-client.c:960,15'
          Dst:             d2i_X509
        - Src:             'lib/tls/openssl/openssl-client.c:963,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:964,4'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/tls/openssl/openssl-client.c:965,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:967,17'
          Dst:             X509_STORE_new
        - Src:             'lib/tls/openssl/openssl-client.c:968,9'
          Dst:             X509_STORE_add_cert
        - Src:             'lib/tls/openssl/openssl-client.c:969,5'
          Dst:             X509_STORE_free
        - Src:             'lib/tls/openssl/openssl-client.c:970,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:973,5'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:976,5'
          Dst:             SSL_CTX_set_cert_store
        - Src:             'lib/tls/openssl/openssl-client.c:978,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:982,4'
          Dst:             X509_free
        - Src:             'lib/tls/openssl/openssl-client.c:983,3'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-client.c:995,7'
          Dst:             lws_tls_use_any_upgrade_check_extant
        - Src:             'lib/tls/openssl/openssl-client.c:1000,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1002,7'
          Dst:             SSL_CTX_use_certificate_chain_file
        - Src:             'lib/tls/openssl/openssl-client.c:1005,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1007,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:1010,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1016,7'
          Dst:             lws_tls_alloc_pem_to_der_file
        - Src:             'lib/tls/openssl/openssl-client.c:1018,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1023,7'
          Dst:             SSL_CTX_use_certificate_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:1026,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1027,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:1030,3'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-client.c:1037,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1038,3'
          Dst:             lws_ssl_bind_passphrase
        - Src:             'lib/tls/openssl/openssl-client.c:1040,7'
          Dst:             SSL_CTX_use_PrivateKey_file
        - Src:             'lib/tls/openssl/openssl-client.c:1042,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1044,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:1047,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1051,8'
          Dst:             SSL_CTX_check_private_key
        - Src:             'lib/tls/openssl/openssl-client.c:1052,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1061,7'
          Dst:             lws_tls_alloc_pem_to_der_file
        - Src:             'lib/tls/openssl/openssl-client.c:1063,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1068,7'
          Dst:             SSL_CTX_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:1076,8'
          Dst:             SSL_CTX_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:1085,3'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-client.c:1088,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:    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:    2
      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:    1
      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:    2
      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:    1
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_client_vhost_extra_cert_mem
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 658
      functionLinenumberEnd: 687
      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:663,13'
          Dst:             d2i_X509
        - Src:             'lib/tls/openssl/openssl-client.c:668,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:669,3'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:673,7'
          Dst:             SSL_CTX_get_cert_store
        - Src:             'lib/tls/openssl/openssl-client.c:675,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:676,3'
          Dst:             X509_free
        - Src:             'lib/tls/openssl/openssl-client.c:680,6'
          Dst:             X509_STORE_add_cert
        - Src:             'lib/tls/openssl/openssl-client.c:682,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:684,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: 582
      functionLinenumberEnd: 653
      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:595,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-client.c:591,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-client.c:592,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-client.c:593,6'
          Dst:             SSL_get_verify_result
        - Src:             'lib/tls/openssl/openssl-client.c:622,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:630,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:635,7'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-client.c:642,2'
          Dst:             lws_snprintf
        - Src:             'lib/tls/openssl/openssl-client.c:645,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:646,2'
          Dst:             lws_tls_err_describe_clear
    - functionName:    lws_tls_client_connect
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 489
      functionLinenumberEnd: 578
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          256
      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:501,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-client.c:502,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-client.c:504,6'
          Dst:             SSL_connect
        - Src:             'lib/tls/openssl/openssl-client.c:505,7'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-client.c:507,6'
          Dst:             lws_ssl_get_error
        - Src:             'lib/tls/openssl/openssl-client.c:515,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:517,3'
          Dst:             lws_snprintf
        - Src:             'lib/tls/openssl/openssl-client.c:522,7'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-client.c:523,7'
          Dst:             lws_snprintf
        - Src:             'lib/tls/openssl/openssl-client.c:525,4'
          Dst:             ERR_error_string_n
        - Src:             'lib/tls/openssl/openssl-client.c:530,6'
          Dst:             SSL_session_reused
        - Src:             'lib/tls/openssl/openssl-client.c:532,10'
          Dst:             SSL_get_session
        - Src:             'lib/tls/openssl/openssl-client.c:537,37'
          Dst:             time
        - Src:             'lib/tls/openssl/openssl-client.c:537,4'
          Dst:             SSL_SESSION_set_time
        - Src:             'lib/tls/openssl/openssl-client.c:543,34'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-client.c:546,35'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-client.c:552,3'
          Dst:             SSL_get0_alpn_selected
        - Src:             'lib/tls/openssl/openssl-client.c:559,3'
          Dst:             lws_role_call_alpn_negotiated
        - Src:             'lib/tls/openssl/openssl-client.c:567,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:568,3'
          Dst:             lws_openssl_describe_cipher
        - Src:             'lib/tls/openssl/openssl-client.c:575,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:    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:    OpenSSL_client_verify_callback
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 234
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         54
      ICount:          316
      EdgeCount:       72
      CyclomaticComplexity: 20
      functionsReached:
        - SSL_get_ex_data
        - SSL_get_ex_data_X509_STORE_CTX_idx
        - X509_STORE_CTX_get_error
        - X509_STORE_CTX_get_error_depth
        - X509_STORE_CTX_get_ex_data
        - X509_STORE_CTX_set_error
        - 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
    - 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:    lws_ssl_client_bio_create
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 239
      functionLinenumberEnd: 485
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         63
      ICount:          520
      EdgeCount:       86
      CyclomaticComplexity: 25
      functionsReached:
        - BIO_ctrl
        - BIO_new_socket
        - ERR_error_string
        - 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_get_error
        - 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:249,3'
          Dst:             lws_strncpy
        - Src:             'lib/tls/openssl/openssl-client.c:256,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/tls/openssl/openssl-client.c:260,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:279,17'
          Dst:             SSL_new
        - Src:             'lib/tls/openssl/openssl-client.c:287,2'
          Dst:             lws_ssl_get_error
        - Src:             'lib/tls/openssl/openssl-client.c:281,20'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-client.c:288,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:289,3'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:295,3'
          Dst:             lws_tls_reuse_session
        - Src:             'lib/tls/openssl/openssl-client.c:300,3'
          Dst:             SSL_set_info_callback
        - Src:             'lib/tls/openssl/openssl-client.c:300,3'
          Dst:             lws_ssl_info_callback
        - Src:             'lib/tls/openssl/openssl-client.c:307,30'
          Dst:             SSL_get0_param
        - Src:             'lib/tls/openssl/openssl-client.c:310,3'
          Dst:             X509_VERIFY_PARAM_set_hostflags
        - Src:             'lib/tls/openssl/openssl-client.c:313,8'
          Dst:             X509_VERIFY_PARAM_set1_ip_asc
        - Src:             'lib/tls/openssl/openssl-client.c:315,6'
          Dst:             strnlen
        - Src:             'lib/tls/openssl/openssl-client.c:314,4'
          Dst:             X509_VERIFY_PARAM_set1_host
        - Src:             'lib/tls/openssl/openssl-client.c:331,2'
          Dst:             SSL_set_verify
        - Src:             'lib/tls/openssl/openssl-client.c:331,2'
          Dst:             OpenSSL_client_verify_callback
        - Src:             'lib/tls/openssl/openssl-client.c:337,2'
          Dst:             SSL_ctrl
        - Src:             'lib/tls/openssl/openssl-client.c:357,2'
          Dst:             SSL_ctrl
        - Src:             'lib/tls/openssl/openssl-client.c:378,24'
          Dst:             BIO_new_socket
        - Src:             'lib/tls/openssl/openssl-client.c:380,2'
          Dst:             SSL_set_bio
        - Src:             'lib/tls/openssl/openssl-client.c:389,2'
          Dst:             BIO_ctrl
        - Src:             'lib/tls/openssl/openssl-client.c:400,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/tls/openssl/openssl-client.c:406,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:408,6'
          Dst:             lws_alpn_comma_to_openssl
        - Src:             'lib/tls/openssl/openssl-client.c:411,2'
          Dst:             SSL_set_alpn_protos
        - Src:             'lib/tls/openssl/openssl-client.c:414,2'
          Dst:             SSL_set_ex_data
        - Src:             'lib/tls/openssl/openssl-client.c:418,26'
          Dst:             lws_system_get_blob
        - Src:             'lib/tls/openssl/openssl-client.c:431,10'
          Dst:             lws_system_blob_get_size
        - Src:             'lib/tls/openssl/openssl-client.c:435,7'
          Dst:             lws_system_blob_get_single_ptr
        - Src:             'lib/tls/openssl/openssl-client.c:438,7'
          Dst:             SSL_use_certificate_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:440,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:441,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:445,7'
          Dst:             lws_system_get_blob
        - Src:             'lib/tls/openssl/openssl-client.c:451,10'
          Dst:             lws_system_blob_get_size
        - Src:             'lib/tls/openssl/openssl-client.c:455,7'
          Dst:             lws_system_blob_get_single_ptr
        - Src:             'lib/tls/openssl/openssl-client.c:458,7'
          Dst:             SSL_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:460,7'
          Dst:             SSL_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:463,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:464,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:468,7'
          Dst:             SSL_check_private_key
        - Src:             'lib/tls/openssl/openssl-client.c:469,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:470,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:474,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:481,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:    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:    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_gencrypto_padded_length
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 693
      functionLinenumberEnd: 694
      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: 684
      functionLinenumberEnd: 690
      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:689,4'
          Dst:             lws_realloc
    - functionName:    lws_base64_size
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 678
      functionLinenumberEnd: 679
      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: 669
      functionLinenumberEnd: 674
      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_genhmac_size
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 652
      functionLinenumberEnd: 665
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          37
      EdgeCount:       12
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/tls/lws-gencrypto-common.c:653,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    lws_genhash_size
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 631
      functionLinenumberEnd: 648
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       16
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    5
      BranchProfiles:
        - Branch String:   'lib/tls/lws-gencrypto-common.c:632,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    lws_gencrypto_jwe_enc_to_definition
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 614
      functionLinenumberEnd: 627
      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:618,8'
          Dst:             strcmp
    - functionName:    lws_gencrypto_jwe_alg_to_definition
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 596
      functionLinenumberEnd: 609
      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:600,8'
          Dst:             strcmp
    - functionName:    lws_gencrypto_jws_alg_to_definition
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 578
      functionLinenumberEnd: 591
      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:582,8'
          Dst:             strcmp
    - functionName:    lws_wsmsg_destroy
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 446
      functionLinenumberEnd: 451
      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:450,3'
          Dst:             lws_buflist_destroy_all_segments
    - functionName:    lws_buflist_destroy_all_segments
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_realloc
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:106,3'
          Dst:             lws_realloc
    - functionName:    lws_wsmsg_transfer
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 345
      functionLinenumberEnd: 392
      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: 396
      functionLinenumberEnd: 442
      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:409,7'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core/buflist.c:423,7'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core/buflist.c:439,2'
          Dst:             lws_wsmsg_transfer
    - functionName:    lws_buflist_append_segment
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          138
      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: 313
      functionLinenumberEnd: 340
      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:318,2'
          Dst:             lws_flow_feed
        - Src:             'lib/core/buflist.c:325,9'
          Dst:             lws_ss_get_est_peer_tx_credit
        - Src:             'lib/core/buflist.c:326,9'
          Dst:             lws_buflist_total_len
        - Src:             'lib/core/buflist.c:332,5'
          Dst:             lws_ss_add_peer_tx_credit
    - functionName:    lws_flow_feed
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 295
      functionLinenumberEnd: 309
      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:300,3'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/core/buflist.c:302,14'
          Dst:             lws_buflist_next_segment_len
    - functionName:    lws_buflist_total_len
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 174
      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: 142
      functionLinenumberEnd: 161
      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:145,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:146,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:147,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:151,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:156,6'
          Dst:             lws_buflist_destroy_segment
        - Src:             'lib/core/buflist.c:160,9'
          Dst:             lws_buflist_next_segment_len
    - functionName:    lws_buflist_next_segment_len
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          130
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - __assert_fail
        - lws_buflist_destroy_segment
      functionUses:    18
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:125,7'
          Dst:             lws_buflist_destroy_segment
        - Src:             'lib/core/buflist.c:132,2'
          Dst:             __assert_fail
    - functionName:    lws_buflist_destroy_segment
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:89,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:93,2'
          Dst:             lws_realloc
    - functionName:    lws_buflist_get_frag_start_or_NULL
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 284
      functionLinenumberEnd: 291
      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_buflist_describe
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 256
      functionLinenumberEnd: 279
      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:262,3'
          Dst:             _lws_log
        - Src:             'lib/core/buflist.c:265,3'
          Dst:             _lws_log
        - Src:             'lib/core/buflist.c:273,4'
          Dst:             _lws_log
    - functionName:    lws_buflist_fragment_use
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 225
      functionLinenumberEnd: 251
      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:248,2'
          Dst:             lws_buflist_use_segment
    - functionName:    lws_buflist_linear_use
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 219
      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:216,3'
          Dst:             lws_buflist_use_segment
    - functionName:    lws_buflist_linear_copy
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 199
      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_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_b64_decode_string_len
      functionSourceFile: '/src/libwebsockets/lib/misc/base64-decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 247
      functionLinenumberEnd: 250
      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:248,13'
          Dst:             _lws_b64_decode_string
    - functionName:    _lws_b64_decode_string
      functionSourceFile: '/src/libwebsockets/lib/misc/base64-decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 237
      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:222,8'
          Dst:             strlen
        - Src:             'lib/misc/base64-decode.c:226,2'
          Dst:             lws_b64_decode_state_init
        - Src:             'lib/misc/base64-decode.c:227,6'
          Dst:             lws_b64_decode_stateful
        - Src:             'lib/misc/base64-decode.c:232,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: 204
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         98
      ICount:          607
      EdgeCount:       134
      CyclomaticComplexity: 38
      functionsReached:
        - _lws_log
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/base64-decode.c:144,6'
          Dst:             _lws_log
        - Src:             'lib/misc/base64-decode.c:149,6'
          Dst:             _lws_log
    - functionName:    lws_b64_decode_string
      functionSourceFile: '/src/libwebsockets/lib/misc/base64-decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 241
      functionLinenumberEnd: 242
      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:242,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: 724
      functionLinenumberEnd: 725
      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: 713
      functionLinenumberEnd: 719
      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:714,18'
          Dst:             lws_upng_get_bitdepth
        - Src:             'lib/misc/upng.c:715,5'
          Dst:             lws_upng_get_components
    - functionName:    lws_upng_get_bitdepth
      functionSourceFile: '/src/libwebsockets/lib/misc/upng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 707
      functionLinenumberEnd: 708
      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: 690
      functionLinenumberEnd: 703
      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:691,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    lws_upng_get_bpp
      functionSourceFile: '/src/libwebsockets/lib/misc/upng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 683
      functionLinenumberEnd: 685
      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:684,9'
          Dst:             lws_upng_get_bitdepth
        - Src:             'lib/misc/upng.c:685,4'
          Dst:             lws_upng_get_components
    - functionName:    lws_upng_get_height
      functionSourceFile: '/src/libwebsockets/lib/misc/upng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 677
      functionLinenumberEnd: 678
      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: 671
      functionLinenumberEnd: 672
      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: 661
      functionLinenumberEnd: 666
      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:663,3'
          Dst:             lws_realloc
        - Src:             'lib/misc/upng.c:665,2'
          Dst:             lws_realloc
    - functionName:    lws_upng_new
      functionSourceFile: '/src/libwebsockets/lib/misc/upng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 640
      functionLinenumberEnd: 657
      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:643,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: 636
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         143
      ICount:          1237
      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
    - 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:    add_clamp
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1823
      functionLinenumberEnd: 1833
      functionDepth:   0
      returnType:      char
      argCount:        2
      argTypes:
        - char
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    18
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sub_clamp
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1837
      functionLinenumberEnd: 1847
      functionDepth:   0
      returnType:      char
      argCount:        2
      argTypes:
        - char
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    18
      BranchProfiles:  []
      Callsites:       []
    - functionName:    clamp
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1655
      functionLinenumberEnd: 1663
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    imul_b1_b3
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1613
      functionLinenumberEnd: 1617
      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: 1624
      functionLinenumberEnd: 1628
      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: 1635
      functionLinenumberEnd: 1639
      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: 1646
      functionLinenumberEnd: 1650
      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: 1966
      functionLinenumberEnd: 1998
      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:1979,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:1980,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:1981,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:1982,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:1985,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1986,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1987,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1988,12'
          Dst:             sub_clamp
    - functionName:    upsample_cb
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1859
      functionLinenumberEnd: 1891
      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:1872,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1873,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1874,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1875,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1878,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:1879,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:1880,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:1881,12'
          Dst:             add_clamp
    - functionName:    upsample_crh
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2003
      functionLinenumberEnd: 2029
      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:2016,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2017,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2020,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:2021,12'
          Dst:             sub_clamp
    - functionName:    upsample_cbh
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1896
      functionLinenumberEnd: 1922
      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:1909,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1910,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1913,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:1914,12'
          Dst:             add_clamp
    - functionName:    upsample_crv
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2034
      functionLinenumberEnd: 2061
      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:2047,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2048,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2051,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:2052,12'
          Dst:             sub_clamp
    - functionName:    upsample_cbv
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1927
      functionLinenumberEnd: 1954
      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:1940,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1941,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1944,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:1945,12'
          Dst:             add_clamp
    - functionName:    convert_cr
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2108
      functionLinenumberEnd: 2126
      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:2119,9'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2123,9'
          Dst:             sub_clamp
    - functionName:    convert_cb
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2085
      functionLinenumberEnd: 2103
      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:2096,9'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:2100,9'
          Dst:             add_clamp
    - functionName:    copy_y
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2066
      functionLinenumberEnd: 2080
      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: 1744
      functionLinenumberEnd: 1819
      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:1755,16'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1778,28'
          Dst:             imul_b5
        - Src:             'lib/misc/jpeg.c:1779,29'
          Dst:             imul_b4
        - Src:             'lib/misc/jpeg.c:1781,34'
          Dst:             imul_b2
        - Src:             'lib/misc/jpeg.c:1787,28'
          Dst:             imul_b1_b3
        - Src:             'lib/misc/jpeg.c:1800,27'
          Dst:             imul_b1_b3
        - Src:             'lib/misc/jpeg.c:1808,19'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1809,19'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1810,19'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1811,19'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1812,19'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1813,19'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1814,19'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1815,19'
          Dst:             clamp
    - functionName:    idct_rows
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1667
      functionLinenumberEnd: 1740
      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:1700,28'
          Dst:             imul_b5
        - Src:             'lib/misc/jpeg.c:1701,29'
          Dst:             imul_b4
        - Src:             'lib/misc/jpeg.c:1703,34'
          Dst:             imul_b2
        - Src:             'lib/misc/jpeg.c:1709,28'
          Dst:             imul_b1_b3
        - Src:             'lib/misc/jpeg.c:1722,27'
          Dst:             imul_b1_b3
    - functionName:    get_extend_offset
      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:          39
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_extend_test
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 468
      functionLinenumberEnd: 473
      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: 441
      functionLinenumberEnd: 464
      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:450,7'
          Dst:             get_octet
    - functionName:    get_octet
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 334
      functionLinenumberEnd: 363
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          135
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log
        - get_char
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:339,7'
          Dst:             get_char
        - Src:             'lib/misc/jpeg.c:346,7'
          Dst:             get_char
        - Src:             'lib/misc/jpeg.c:355,4'
          Dst:             _lws_log
    - functionName:    get_char
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 315
      functionLinenumberEnd: 330
      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
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2130
      functionLinenumberEnd: 2239
      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:2134,2'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:2142,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:2160,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:2183,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:2206,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2131,2'
          Dst:             idct_rows
        - Src:             'lib/misc/jpeg.c:2132,2'
          Dst:             idct_cols
        - Src:             'lib/misc/jpeg.c:2137,3'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2144,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2148,4'
          Dst:             convert_cb
        - Src:             'lib/misc/jpeg.c:2152,4'
          Dst:             convert_cr
        - Src:             'lib/misc/jpeg.c:2162,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2166,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2170,4'
          Dst:             upsample_cbv
        - Src:             'lib/misc/jpeg.c:2171,4'
          Dst:             upsample_cbv
        - Src:             'lib/misc/jpeg.c:2175,4'
          Dst:             upsample_crv
        - Src:             'lib/misc/jpeg.c:2176,4'
          Dst:             upsample_crv
        - Src:             'lib/misc/jpeg.c:2185,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2189,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2193,4'
          Dst:             upsample_cbh
        - Src:             'lib/misc/jpeg.c:2194,4'
          Dst:             upsample_cbh
        - Src:             'lib/misc/jpeg.c:2198,4'
          Dst:             upsample_crh
        - Src:             'lib/misc/jpeg.c:2199,4'
          Dst:             upsample_crh
        - Src:             'lib/misc/jpeg.c:2208,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2212,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2216,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2220,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2224,4'
          Dst:             upsample_cb
        - Src:             'lib/misc/jpeg.c:2225,4'
          Dst:             upsample_cb
        - Src:             'lib/misc/jpeg.c:2226,4'
          Dst:             upsample_cb
        - Src:             'lib/misc/jpeg.c:2227,4'
          Dst:             upsample_cb
        - Src:             'lib/misc/jpeg.c:2231,4'
          Dst:             upsample_cr
        - Src:             'lib/misc/jpeg.c:2232,4'
          Dst:             upsample_cr
        - Src:             'lib/misc/jpeg.c:2233,4'
          Dst:             upsample_cr
        - Src:             'lib/misc/jpeg.c:2234,4'
          Dst:             upsample_cr
    - functionName:    huff_extend
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 486
      functionLinenumberEnd: 488
      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:487,25'
          Dst:             get_extend_test
        - Src:             'lib/misc/jpeg.c:488,9'
          Dst:             get_extend_offset
    - functionName:    huff_decode
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 493
      functionLinenumberEnd: 537
      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:498,7'
          Dst:             get_bit
        - Src:             'lib/misc/jpeg.c:520,7'
          Dst:             get_bit
    - functionName:    interval_restart
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1246
      functionLinenumberEnd: 1332
      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:1250,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1253,8'
          Dst:             get_char
        - Src:             'lib/misc/jpeg.c:1265,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1276,8'
          Dst:             get_char
        - Src:             'lib/misc/jpeg.c:1287,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1294,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1315,7'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:1323,7'
          Dst:             get_bits8
    - functionName:    get_bits8
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 367
      functionLinenumberEnd: 391
      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:374,7'
          Dst:             get_octet
    - functionName:    check_quant_tables
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1356
      functionLinenumberEnd: 1370
      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:1363,4'
          Dst:             _lws_log
    - functionName:    check_huff_tables
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1336
      functionLinenumberEnd: 1352
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          102
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1345,4'
          Dst:             _lws_log
    - functionName:    read_sos_marker
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 756
      functionLinenumberEnd: 888
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         65
      ICount:          487
      EdgeCount:       80
      CyclomaticComplexity: 17
      functionsReached:
        - _lws_log
        - get_bits16
        - get_bits8
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:760,2'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:793,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:762,7'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:772,7'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:782,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:795,9'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:803,9'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:814,6'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:834,7'
          Dst:             get_bits8
        - 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:873,8'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:885,2'
          Dst:             _lws_log
    - functionName:    get_bits16
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 395
      functionLinenumberEnd: 437
      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:400,2'
          Dst:             __assert_fail
        - Src:             'lib/misc/jpeg.c:405,7'
          Dst:             get_octet
        - Src:             'lib/misc/jpeg.c:419,7'
          Dst:             get_octet
    - functionName:    createWinogradQuant
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1588
      functionLinenumberEnd: 1600
      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: 541
      functionLinenumberEnd: 570
      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: 593
      functionLinenumberEnd: 608
      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:596,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    get_huff_table
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 574
      functionLinenumberEnd: 589
      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:577,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    getMaxHuffCodes
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 612
      functionLinenumberEnd: 613
      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: 2754
      functionLinenumberEnd: 2755
      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: 2748
      functionLinenumberEnd: 2749
      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: 2742
      functionLinenumberEnd: 2743
      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: 2736
      functionLinenumberEnd: 2737
      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: 2730
      functionLinenumberEnd: 2731
      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: 2724
      functionLinenumberEnd: 2725
      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: 2243
      functionLinenumberEnd: 2480
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         129
      ICount:          1079
      EdgeCount:       168
      CyclomaticComplexity: 41
      functionsReached:
        - _lws_log
        - get_bits16
        - get_bits8
        - huff_decode
        - huff_extend
        - interval_restart
        - transform_block
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:2273,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2251,5'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2252,9'
          Dst:             interval_restart
        - Src:             'lib/misc/jpeg.c:2275,8'
          Dst:             huff_decode
        - Src:             'lib/misc/jpeg.c:2294,10'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:2297,10'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:2305,19'
          Dst:             huff_extend
        - Src:             'lib/misc/jpeg.c:2324,10'
          Dst:             huff_decode
        - Src:             'lib/misc/jpeg.c:2341,11'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:2344,11'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:2357,8'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2371,7'
          Dst:             huff_extend
        - Src:             'lib/misc/jpeg.c:2378,7'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2397,4'
          Dst:             transform_block
    - functionName:    init_scan
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1374
      functionLinenumberEnd: 1455
      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:1378,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1380,7'
          Dst:             process_markers
        - Src:             'lib/misc/jpeg.c:1385,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1391,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1401,7'
          Dst:             read_sos_marker
        - Src:             'lib/misc/jpeg.c:1410,7'
          Dst:             check_huff_tables
        - Src:             'lib/misc/jpeg.c:1414,7'
          Dst:             check_quant_tables
        - Src:             'lib/misc/jpeg.c:1438,7'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:1446,7'
          Dst:             get_bits8
    - functionName:    process_markers
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 894
      functionLinenumberEnd: 1241
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         171
      ICount:          1132
      EdgeCount:       209
      CyclomaticComplexity: 40
      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:927,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:973,5'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:1057,4'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:1101,7'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:1164,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:904,11'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:914,10'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:951,9'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:956,6'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:975,10'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:981,7'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:997,11'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:1009,10'
          Dst:             getMaxHuffCodes
        - Src:             'lib/misc/jpeg.c:1010,7'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1020,11'
          Dst:             get_huff_table
        - Src:             'lib/misc/jpeg.c:1021,10'
          Dst:             get_huff_value
        - Src:             'lib/misc/jpeg.c:1024,11'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:1035,7'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1043,6'
          Dst:             huffCreate
        - Src:             'lib/misc/jpeg.c:1051,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1059,9'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:1064,6'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1082,11'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:1086,8'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1103,12'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:1115,13'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:1139,6'
          Dst:             createWinogradQuant
        - Src:             'lib/misc/jpeg.c:1149,7'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1166,9'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:1170,6'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1179,9'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:1199,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1208,9'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:1212,6'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1225,9'
          Dst:             get_bits8
    - functionName:    init_frame
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1459
      functionLinenumberEnd: 1564
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         43
      ICount:          416
      EdgeCount:       56
      CyclomaticComplexity: 15
      functionsReached:
        - _lws_log
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:1460,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1463,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1480,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1548,3'
          Dst:             _lws_log
    - functionName:    read_sof_marker
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 621
      functionLinenumberEnd: 751
      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:625,2'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:704,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:627,7'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:636,7'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:641,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:650,7'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:655,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:664,7'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:669,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:673,3'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:680,7'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:685,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:691,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:706,9'
          Dst:             get_bits8
        - 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:738,6'
          Dst:             _lws_log
    - functionName:    lws_jpeg_emit_next_line
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2503
      functionLinenumberEnd: 2720
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         85
      ICount:          630
      EdgeCount:       111
      CyclomaticComplexity: 28
      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:2512,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2516,8'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:2524,8'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:2543,9'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:2548,6'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2558,7'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2563,6'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2576,5'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2587,8'
          Dst:             process_markers
        - Src:             'lib/misc/jpeg.c:2592,5'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2597,5'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2608,8'
          Dst:             read_sof_marker
        - Src:             'lib/misc/jpeg.c:2618,8'
          Dst:             init_frame
        - Src:             'lib/misc/jpeg.c:2628,8'
          Dst:             init_scan
        - Src:             'lib/misc/jpeg.c:2658,15'
          Dst:             lws_zalloc
        - Src:             'lib/misc/jpeg.c:2660,5'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2682,8'
          Dst:             lws_jpeg_mcu_next
        - Src:             'lib/misc/jpeg.c:2698,6'
          Dst:             _lws_log
    - functionName:    lws_jpeg_free
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2495
      functionLinenumberEnd: 2498
      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:2496,2'
          Dst:             lws_realloc
        - Src:             'lib/misc/jpeg.c:2497,2'
          Dst:             lws_realloc
    - functionName:    lws_jpeg_new
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2484
      functionLinenumberEnd: 2491
      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:2485,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: 235
      functionLinenumberEnd: 235
      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:         81
      ICount:          852
      EdgeCount:       102
      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: 894
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          107
      EdgeCount:       22
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log_cx
        - lws_http_transaction_completed
        - lws_log_prepend_wsi
        - lws_return_http_status
        - lwsl_wsi_get_cx
      functionUses:    2
      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:874,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/dummy-callback.c:874,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/dummy-callback.c:874,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_ssl_pending_no_ssl
      functionSourceFile: '/src/libwebsockets/lib/core-net/output.c'
      linkageType:     InternalLinkage
      functionLinenumber: 378
      functionLinenumberEnd: 383
      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: 309
      functionLinenumberEnd: 374
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          170
      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:324,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/output.c:325,13'
          Dst:             sendto
        - Src:             'lib/core-net/output.c:332,13'
          Dst:             sendto
        - Src:             'lib/core-net/output.c:341,13'
          Dst:             write
        - Src:             'lib/core-net/output.c:347,13'
          Dst:             send
        - Src:             'lib/core-net/output.c:360,6'
          Dst:             __errno_location
        - Src:             'lib/core-net/output.c:361,6'
          Dst:             __errno_location
        - Src:             'lib/core-net/output.c:362,6'
          Dst:             __errno_location
        - Src:             'lib/core-net/output.c:363,7'
          Dst:             __errno_location
        - Src:             'lib/core-net/output.c:370,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:370,2'
          Dst:             __errno_location
        - Src:             'lib/core-net/output.c:370,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:370,2'
          Dst:             lws_log_prepend_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_ssl_capable_read_no_ssl
      functionSourceFile: '/src/libwebsockets/lib/core-net/output.c'
      linkageType:     InternalLinkage
      functionLinenumber: 248
      functionLinenumberEnd: 305
      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:251,2'
          Dst:             __errno_location
        - Src:             'lib/core-net/output.c:256,12'
          Dst:             recvfrom
        - Src:             'lib/core-net/output.c:264,12'
          Dst:             recv
        - Src:             'lib/core-net/output.c:269,7'
          Dst:             __errno_location
        - Src:             'lib/core-net/output.c:302,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:302,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:302,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: 216
      functionLinenumberEnd: 244
      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:    20
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/output.c:220,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:220,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:220,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/output.c:229,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/output.c:232,7'
          Dst:             lws_issue_raw
    - functionName:    lws_issue_raw
      functionSourceFile: '/src/libwebsockets/lib/core-net/output.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         72
      ICount:          505
      EdgeCount:       96
      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:135,6'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/output.c:137,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:137,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:137,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/output.c:139,4'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/core-net/output.c:142,8'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/output.c:143,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:143,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:143,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/output.c:147,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:147,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:147,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/output.c:159,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:159,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:159,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/output.c:162,12'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/core-net/output.c:174,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/output.c:194,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:194,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:194,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/output.c:197,6'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core-net/output.c:208,2'
          Dst:             lws_callback_on_writable
    - 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:    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:    3
      BranchProfiles:  []
      Callsites:       []
    - 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:         4
      ICount:          31
      EdgeCount:       4
      CyclomaticComplexity: 2
      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:         24
      ICount:          158
      EdgeCount:       31
      CyclomaticComplexity: 9
      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:    2
      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:         6
      ICount:          54
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - 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:    1
      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_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:         8
      ICount:          54
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - lws_parse_numeric_address
      functionUses:    1
      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,26'
          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:    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:    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:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_interface_to_sa
      functionUses:    1
      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: 277
      functionLinenumberEnd: 495
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         69
      ICount:          483
      EdgeCount:       93
      CyclomaticComplexity: 26
      functionsReached:
        - __errno_location
        - _lws_log_cx
        - bind
        - chmod
        - chown
        - getsockname
        - htons
        - interface_to_sa
        - lws_errno_describe
        - 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:301,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/network.c:309,37'
          Dst:             strlen
        - Src:             'lib/core-net/network.c:310,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:310,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:310,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:314,32'
          Dst:             strlen
        - Src:             'lib/core-net/network.c:315,3'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/network.c:319,4'
          Dst:             unlink
        - Src:             'lib/core-net/network.c:361,11'
          Dst:             interface_to_sa
        - Src:             'lib/core-net/network.c:364,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:364,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:364,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:369,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:369,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:369,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:375,25'
          Dst:             htons
        - Src:             'lib/core-net/network.c:386,73'
          Dst:             strlen
        - Src:             'lib/core-net/network.c:386,7'
          Dst:             setsockopt
        - Src:             'lib/core-net/network.c:388,21'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:389,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:389,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:389,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:397,6'
          Dst:             bind
        - Src:             'lib/core-net/network.c:402,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:402,3'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:402,3'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/network.c:402,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:402,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:410,20'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:414,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:414,3'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/network.c:414,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:414,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:435,8'
          Dst:             lws_plat_user_colon_group_to_ids
        - Src:             'lib/core-net/network.c:437,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:437,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:437,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:443,8'
          Dst:             chown
        - Src:             'lib/core-net/network.c:444,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:444,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:444,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:450,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:450,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:450,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:455,8'
          Dst:             chmod
        - Src:             'lib/core-net/network.c:456,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:456,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:456,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:465,6'
          Dst:             getsockname
        - Src:             'lib/core-net/network.c:469,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:469,3'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:469,3'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/network.c:469,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:469,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:482,11'
          Dst:             ntohs
        - Src:             'lib/core-net/network.c:488,4'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/network.c:491,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/network.c:491,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:491,4'
          Dst:             lws_log_prepend_vhost
    - 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:    15
      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:    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:         12
      ICount:          94
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - lws_snprintf
        - lws_write_numeric_address
      functionUses:    21
      BranchProfiles:  []
      Callsites:
        - 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: 186
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          141
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - freeaddrinfo
        - getaddrinfo
        - getnameinfo
        - lws_plat_inet_ntop
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/core-net/network.c:165,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/network.c:148,7'
          Dst:             getnameinfo
        - Src:             'lib/core-net/network.c:160,7'
          Dst:             getaddrinfo
        - Src:             'lib/core-net/network.c:175,3'
          Dst:             freeaddrinfo
        - Src:             'lib/core-net/network.c:181,6'
          Dst:             lws_plat_inet_ntop
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_peer_addresses
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 218
      functionLinenumberEnd: 261
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          73
      EdgeCount:       7
      CyclomaticComplexity: 3
      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:241,6'
          Dst:             getpeername
        - Src:             'lib/core-net/network.c:245,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:245,3'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:245,3'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/network.c:245,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:245,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:251,2'
          Dst:             lws_get_addresses
    - functionName:    lws_get_peer_simple
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 209
      functionLinenumberEnd: 211
      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:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:210,8'
          Dst:             lws_get_network_wsi
        - Src:             'lib/core-net/network.c:211,9'
          Dst:             lws_get_peer_simple_fd
    - functionName:    lws_get_peer_simple_fd
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 205
      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:194,6'
          Dst:             getpeername
        - Src:             'lib/core-net/network.c:198,24'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:198,5'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/network.c:197,3'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/network.c:202,2'
          Dst:             lws_sa46_write_numeric_address
    - 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:         6
      ICount:          44
      EdgeCount:       7
      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:         26
      ICount:          212
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - _lws_log_cx
        - lws_dll2_get_head
        - lws_log_prepend_context
        - lws_sa46_on_net
        - lwsl_context_get_cx
      functionUses:    2
      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:         12
      ICount:          71
      EdgeCount:       15
      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: 235
      functionLinenumberEnd: 235
      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:         9
      ICount:          61
      EdgeCount:       11
      CyclomaticComplexity: 4
      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:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      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:         31
      ICount:          193
      EdgeCount:       42
      CyclomaticComplexity: 13
      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:         24
      ICount:          144
      EdgeCount:       30
      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_client_connect_via_info
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect.c'
      linkageType:     InternalLinkage
      functionLinenumber: 129
      functionLinenumberEnd: 576
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         141
      ICount:          1231
      EdgeCount:       187
      CyclomaticComplexity: 48
      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:    1
      BranchProfiles:
        - Branch String:   'lib/core-net/client/connect.c:514,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/client/connect.c:142,7'
          Dst:             lws_protocol_init
        - Src:             'lib/core-net/client/connect.c:157,8'
          Dst:             lws_pthread_self_to_tsi
        - Src:             'lib/core-net/client/connect.c:158,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/client/connect.c:162,8'
          Dst:             __lws_wsi_create_with_role
        - Src:             'lib/core-net/client/connect.c:173,9'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/core-net/client/connect.c:179,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/client/connect.c:179,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:179,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/client/connect.c:182,10'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:250,2'
          Dst:             lws_vhost_bind_wsi
        - Src:             'lib/core-net/client/connect.c:258,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:258,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:258,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:270,6'
          Dst:             lws_role_call_client_bind
        - Src:             'lib/core-net/client/connect.c:271,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:271,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:271,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:275,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:275,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:275,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:311,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:311,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:311,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:313,7'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/core-net/client/connect.c:315,4'
          Dst:             lws_bind_protocol
        - Src:             'lib/core-net/client/connect.c:317,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:317,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:317,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:319,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:319,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/client/connect.c:319,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:319,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:361,2'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect.c:381,6'
          Dst:             lws_client_stash_create
        - Src:             'lib/core-net/client/connect.c:386,3'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/client/connect.c:420,4'
          Dst:             lws_ss_tag
        - Src:             'lib/core-net/client/connect.c:400,3'
          Dst:             __lws_lc_tag
        - Src:             'lib/core-net/client/connect.c:423,3'
          Dst:             __lws_lc_tag
        - Src:             'lib/core-net/client/connect.c:437,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:437,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/client/connect.c:437,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:437,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:482,8'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:483,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:483,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:483,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:498,21'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:516,4'
          Dst:             lws_client_create_tls
        - Src:             'lib/core-net/client/connect.c:534,9'
          Dst:             lws_http_client_connect_via_info2
        - Src:             'lib/core-net/client/connect.c:548,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:548,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:548,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:549,2'
          Dst:             lws_close_free_wsi
        - Src:             'lib/core-net/client/connect.c:558,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/client/connect.c:562,3'
          Dst:             lws_tls_restrict_return
        - Src:             'lib/core-net/client/connect.c:565,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/client/connect.c:567,2'
          Dst:             lws_realloc
    - functionName:    lws_client_stash_create
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 125
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/connect.c:99,12'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect.c:102,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/client/connect.c:104,15'
          Dst:             lws_realloc
        - Src:             'lib/core-net/client/connect.c:119,9'
          Dst:             strlen
    - functionName:    lws_http_client_connect_via_info2
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         29
      ICount:          164
      EdgeCount:       37
      CyclomaticComplexity: 10
      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:62,7'
          Dst:             lws_hdr_simple_create
        - Src:             'lib/core-net/client/connect.c:71,9'
          Dst:             lws_client_connect_2_dnsreq_MAY_CLOSE_WSI
        - Src:             'lib/core-net/client/connect.c:79,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:         11
      ICount:          105
      EdgeCount:       14
      CyclomaticComplexity: 5
      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:         77
      ICount:          494
      EdgeCount:       103
      CyclomaticComplexity: 28
      functionsReached:
        - _lws_is_http_method
        - _lws_log
        - _lws_log_cx
        - 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_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: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:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 235
      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: 807
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         146
      ICount:          1238
      EdgeCount:       197
      CyclomaticComplexity: 53
      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_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
        - strlen
        - strncpy
        - user_callback_handle_rxflow
      functionUses:    4
      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:365,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:365,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:365,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:368,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/client/connect3.c:370,2'
          Dst:             htons
        - Src:             'lib/core-net/client/connect3.c:396,23'
          Dst:             socket
        - Src:             'lib/core-net/client/connect3.c:402,23'
          Dst:             socket
        - Src:             'lib/core-net/client/connect3.c:407,9'
          Dst:             __errno_location
        - Src:             'lib/core-net/client/connect3.c:411,10'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:409,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:413,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:413,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:413,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:417,7'
          Dst:             lws_plat_set_socket_options
        - Src:             'lib/core-net/client/connect3.c:423,9'
          Dst:             __errno_location
        - Src:             'lib/core-net/client/connect3.c:427,10'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:425,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:429,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:429,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:429,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:434,7'
          Dst:             lws_plat_set_socket_options_ip
        - Src:             'lib/core-net/client/connect3.c:436,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:436,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:436,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:438,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:438,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:438,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:439,3'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect3.c:443,5'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:446,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:446,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:446,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:451,7'
          Dst:             __insert_wsi_socket_into_fds
        - Src:             'lib/core-net/client/connect3.c:452,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:471,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/client/connect3.c:472,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:481,3'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/client/connect3.c:484,11'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/core-net/client/connect3.c:487,16'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/core-net/client/connect3.c:490,43'
          Dst:             atoi
        - Src:             'lib/core-net/client/connect3.c:492,24'
          Dst:             atoi
        - Src:             'lib/core-net/client/connect3.c:491,8'
          Dst:             lws_socket_bind
        - Src:             'lib/core-net/client/connect3.c:494,5'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:506,33'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect3.c:509,6'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect3.c:544,6'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/core-net/client/connect3.c:547,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:547,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:547,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:554,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/client/connect3.c:555,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:555,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:555,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:564,7'
          Dst:             connect
        - Src:             'lib/core-net/client/connect3.c:568,22'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/client/connect3.c:580,20'
          Dst:             __errno_location
        - Src:             'lib/core-net/client/connect3.c:588,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:588,3'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:588,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:588,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:607,7'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/client/connect3.c:619,4'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/client/connect3.c:624,10'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:622,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:629,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:629,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:629,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:634,11'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:632,5'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:657,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/core-net/client/connect3.c:657,3'
          Dst:             lws_client_conn_wait_timeout
        - Src:             'lib/core-net/client/connect3.c:677,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/client/connect3.c:692,7'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/client/connect3.c:701,7'
          Dst:             getsockname
        - Src:             'lib/core-net/client/connect3.c:704,9'
          Dst:             __errno_location
        - Src:             'lib/core-net/client/connect3.c:705,4'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:705,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/client/connect3.c:713,4'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/client/connect3.c:715,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:715,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:715,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:719,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/client/connect3.c:725,2'
          Dst:             lws_addrinfo_clean
        - Src:             'lib/core-net/client/connect3.c:731,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:731,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:731,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:733,9'
          Dst:             lws_client_connect_4_established
        - Src:             'lib/core-net/client/connect3.c:743,48'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect3.c:743,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/client/connect3.c:764,3'
          Dst:             __lws_free_wsi
        - Src:             'lib/core-net/client/connect3.c:767,3'
          Dst:             sanity_assert_no_wsi_traces
        - Src:             'lib/core-net/client/connect3.c:768,3'
          Dst:             sanity_assert_no_sockfd_traces
        - Src:             'lib/core-net/client/connect3.c:777,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:777,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:777,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:781,2'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/client/connect3.c:788,2'
          Dst:             close
        - Src:             'lib/core-net/client/connect3.c:792,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/client/connect3.c:796,6'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/client/connect3.c:799,2'
          Dst:             lws_addrinfo_clean
        - Src:             'lib/core-net/client/connect3.c:800,48'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect3.c:800,2'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/client/connect3.c:803,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/client/connect3.c:804,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: 338
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         66
      ICount:          581
      EdgeCount:       86
      CyclomaticComplexity: 22
      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:199,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:60,9'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/core-net/client/connect4.c:65,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:65,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:65,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:67,10'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect4.c:75,12'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect4.c:80,11'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect4.c:92,8'
          Dst:             lws_hdr_simple_create
        - Src:             'lib/core-net/client/connect4.c:98,12'
          Dst:             send
        - Src:             'lib/core-net/client/connect4.c:102,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:102,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:102,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:107,3'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/client/connect4.c:111,3'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect4.c:138,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/client/connect4.c:147,3'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect4.c:159,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/client/connect4.c:161,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:161,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:161,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:164,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:164,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:164,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:178,5'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect4.c:198,14'
          Dst:             lws_client_create_tls
        - Src:             'lib/core-net/client/connect4.c:203,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:203,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:203,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:206,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:206,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:206,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:217,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:217,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:217,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:223,6'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect4.c:225,5'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/client/connect4.c:240,4'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/client/connect4.c:244,9'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/core-net/client/connect4.c:249,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:249,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:249,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:293,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:293,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:293,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:294,4'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect4.c:312,3'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/client/connect4.c:315,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/client/connect4.c:321,7'
          Dst:             lws_service_fd_tsi
        - Src:             'lib/core-net/client/connect4.c:333,48'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect4.c:333,2'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/client/connect4.c:335,2'
          Dst:             lws_close_free_wsi
    - 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:    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:    1
      BranchProfiles:  []
      Callsites:       []
    - 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_cookie_parse_nsc
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 214
      functionLinenumberEnd: 280
      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:230,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/cookie.c:222,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:266,5'
          Dst:             _lws_log
    - functionName:    lws_cookie_parse_date
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 148
      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:75,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/cookie.c:71,7'
          Dst:             __ctype_b_loc
        - Src:             'lib/roles/http/cookie.c:78,20'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:81,19'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:84,19'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:96,20'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:103,20'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:124,20'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:142,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: 192
      functionLinenumberEnd: 210
      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_attach_cookies
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 406
      functionLinenumberEnd: 540
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         76
      ICount:          492
      EdgeCount:       103
      CyclomaticComplexity: 29
      functionsReached:
        - _lws_log
        - lws_cache_item_get
        - lws_cache_lookup
        - lws_cache_results_walk
        - lws_cookie_parse_nsc
        - lws_get_network_wsi
        - memchr
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/cookie.c:420,36'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/http/cookie.c:427,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:439,13'
          Dst:             strlen
        - Src:             'lib/roles/http/cookie.c:442,12'
          Dst:             memchr
        - Src:             'lib/roles/http/cookie.c:453,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:464,16'
          Dst:             strlen
        - Src:             'lib/roles/http/cookie.c:465,15'
          Dst:             memchr
        - Src:             'lib/roles/http/cookie.c:487,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:489,8'
          Dst:             lws_cache_lookup
        - Src:             'lib/roles/http/cookie.c:492,12'
          Dst:             lws_cache_results_walk
        - Src:             'lib/roles/http/cookie.c:493,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:496,9'
          Dst:             lws_cache_item_get
        - Src:             'lib/roles/http/cookie.c:498,6'
          Dst:             lws_cookie_parse_nsc
        - Src:             'lib/roles/http/cookie.c:499,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:505,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:537,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: 688
      functionLinenumberEnd: 737
      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:695,9'
          Dst:             lws_cookie_attach_cookies
        - Src:             'lib/roles/http/cookie.c:700,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:704,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:710,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/cookie.c:720,6'
          Dst:             lws_wsi_is_h2
        - Src:             'lib/roles/http/cookie.c:726,6'
          Dst:             lws_cookie_attach_cookies
        - Src:             'lib/roles/http/cookie.c:727,3'
          Dst:             _lws_log
    - functionName:    lws_cookie_write_nsc
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 284
      functionLinenumberEnd: 402
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         53
      ICount:          432
      EdgeCount:       72
      CyclomaticComplexity: 21
      functionsReached:
        - _lws_log
        - lws_cache_write_through
        - lws_cookie_compile_cache_name
        - lws_cookie_parse_date
        - lws_get_network_wsi
        - lws_hdr_simple_ptr
        - lws_realloc
        - lws_snprintf
        - memchr
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/cookie.c:302,36'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/http/cookie.c:307,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/cookie.c:308,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/cookie.c:314,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:323,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:332,21'
          Dst:             strlen
        - Src:             'lib/roles/http/cookie.c:337,19'
          Dst:             strlen
        - Src:             'lib/roles/http/cookie.c:338,8'
          Dst:             memchr
        - Src:             'lib/roles/http/cookie.c:343,6'
          Dst:             lws_cookie_compile_cache_name
        - Src:             'lib/roles/http/cookie.c:347,6'
          Dst:             lws_cookie_parse_date
        - Src:             'lib/roles/http/cookie.c:348,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:354,26'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/cookie.c:356,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:361,2'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/cookie.c:370,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:371,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:375,9'
          Dst:             strlen
        - Src:             'lib/roles/http/cookie.c:373,6'
          Dst:             lws_cache_write_through
        - Src:             'lib/roles/http/cookie.c:399,2'
          Dst:             lws_realloc
    - functionName:    is_iprefix
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 188
      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: 152
      functionLinenumberEnd: 174
      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:157,3'
          Dst:             _lws_log
    - functionName:    lws_parse_set_cookie
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 556
      functionLinenumberEnd: 684
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         73
      ICount:          589
      EdgeCount:       99
      CyclomaticComplexity: 28
      functionsReached:
        - _lws_log
        - is_iprefix
        - lws_cookie_rm_sws
        - lws_cookie_write_nsc
        - memchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/cookie.c:590,13'
          Dst:             memchr
        - Src:             'lib/roles/http/cookie.c:608,9'
          Dst:             memchr
        - Src:             'lib/roles/http/cookie.c:615,4'
          Dst:             lws_cookie_rm_sws
        - Src:             'lib/roles/http/cookie.c:620,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:627,4'
          Dst:             lws_cookie_rm_sws
        - Src:             'lib/roles/http/cookie.c:632,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:649,10'
          Dst:             is_iprefix
        - Src:             'lib/roles/http/cookie.c:663,5'
          Dst:             lws_cookie_rm_sws
        - Src:             'lib/roles/http/cookie.c:671,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:679,7'
          Dst:             lws_cookie_write_nsc
        - Src:             'lib/roles/http/cookie.c:680,4'
          Dst:             _lws_log
    - functionName:    lws_tls_extant
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 494
      functionLinenumberEnd: 508
      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:496,11'
          Dst:             open
        - Src:             'lib/tls/tls.c:504,6'
          Dst:             read
        - Src:             'lib/tls/tls.c:505,2'
          Dst:             close
    - functionName:    lws_tls_use_any_upgrade_check_extant
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 542
      functionLinenumberEnd: 595
      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:550,2'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:551,7'
          Dst:             lws_tls_extant
        - Src:             'lib/tls/tls.c:553,8'
          Dst:             lws_tls_extant
        - Src:             'lib/tls/tls.c:556,5'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:558,10'
          Dst:             rename
        - Src:             'lib/tls/tls.c:562,5'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:566,4'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:569,7'
          Dst:             rename
        - Src:             'lib/tls/tls.c:570,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:576,6'
          Dst:             lws_tls_extant
    - functionName:    lws_tls_alloc_pem_to_der_file
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 382
      functionLinenumberEnd: 484
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         52
      ICount:          314
      EdgeCount:       71
      CyclomaticComplexity: 21
      functionsReached:
        - _lws_log
        - alloc_file
        - lws_b64_decode_string_len
        - lws_realloc
        - strncmp
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:389,7'
          Dst:             alloc_file
        - Src:             'lib/tls/tls.c:400,6'
          Dst:             strncmp
        - Src:             'lib/tls/tls.c:404,9'
          Dst:             lws_realloc
        - Src:             'lib/tls/tls.c:420,9'
          Dst:             lws_realloc
        - Src:             'lib/tls/tls.c:422,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:468,6'
          Dst:             lws_b64_decode_string_len
        - Src:             'lib/tls/tls.c:471,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:481,2'
          Dst:             lws_realloc
    - functionName:    alloc_file
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 315
      functionLinenumberEnd: 362
      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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:321,6'
          Dst:             fopen
        - Src:             'lib/tls/tls.c:327,6'
          Dst:             fseek
        - Src:             'lib/tls/tls.c:332,15'
          Dst:             ftell
        - Src:             'lib/tls/tls.c:339,6'
          Dst:             fseek
        - Src:             'lib/tls/tls.c:344,9'
          Dst:             lws_realloc
        - Src:             'lib/tls/tls.c:350,6'
          Dst:             fread
        - Src:             'lib/tls/tls.c:351,3'
          Dst:             lws_realloc
        - Src:             'lib/tls/tls.c:360,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_server_conn_alpn
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 239
      functionLinenumberEnd: 274
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          83
      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:246,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:249,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:253,2'
          Dst:             SSL_get0_alpn_selected
        - Src:             'lib/tls/tls.c:255,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:265,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:268,9'
          Dst:             lws_role_call_alpn_negotiated
    - functionName:    alpn_cb
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 101
      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:94,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: 213
      functionLinenumberEnd: 235
      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:221,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:224,37'
          Dst:             lws_alpn_comma_to_openssl
        - Src:             'lib/tls/tls.c:228,2'
          Dst:             SSL_CTX_set_alpn_select_cb
        - Src:             'lib/tls/tls.c:228,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: 190
      functionLinenumberEnd: 209
      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:199,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:206,3'
          Dst:             lws_tls_restrict_return_handshake
        - Src:             'lib/tls/tls.c:208,3'
          Dst:             _lws_tls_restrict_return
    - functionName:    lws_tls_restrict_return_handshake
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 186
      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:181,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:185,2'
          Dst:             _lws_tls_restrict_return
    - functionName:    _lws_tls_restrict_return
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 166
      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:157,2'
          Dst:             __assert_fail
        - Src:             'lib/tls/tls.c:158,2'
          Dst:             __assert_fail
        - Src:             'lib/tls/tls.c:160,2'
          Dst:             lws_gate_accepts
    - functionName:    lws_tls_restrict_borrow
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 149
      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:111,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:119,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:129,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:133,2'
          Dst:             __assert_fail
        - Src:             'lib/tls/tls.c:136,2'
          Dst:             __assert_fail
        - Src:             'lib/tls/tls.c:141,2'
          Dst:             lws_gate_accepts
    - functionName:    lws_klog_dump
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 80
      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:34,34'
          Dst:             SSL_get_ex_data
        - Src:             'lib/tls/tls.c:43,2'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:46,7'
          Dst:             open
        - Src:             'lib/tls/tls.c:48,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls.c:48,3'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls.c:48,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/tls/tls.c:53,7'
          Dst:             strncmp
        - Src:             'lib/tls/tls.c:54,16'
          Dst:             write
        - Src:             'lib/tls/tls.c:56,7'
          Dst:             lwsl_timestamp
        - Src:             'lib/tls/tls.c:58,16'
          Dst:             write
        - Src:             'lib/tls/tls.c:60,7'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:61,16'
          Dst:             write
        - Src:             'lib/tls/tls.c:64,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls.c:64,3'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls.c:64,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/tls/tls.c:67,8'
          Dst:             strlen
        - Src:             'lib/tls/tls.c:72,4'
          Dst:             strlen
        - Src:             'lib/tls/tls.c:68,15'
          Dst:             write
        - Src:             'lib/tls/tls.c:73,15'
          Dst:             write
        - Src:             'lib/tls/tls.c:74,2'
          Dst:             close
        - Src:             'lib/tls/tls.c:77,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls.c:77,3'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls.c:77,3'
          Dst:             lws_log_prepend_vhost
    - functionName:    lws_tls_session_tag_from_wsi
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-sessions.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          89
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - lws_tls_session_tag_discrete
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-sessions.c:59,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
...
