---
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:    168
      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:    42
      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:    234
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsl_hexdump
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 689
      functionLinenumberEnd: 693
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lwsl_hexdump_level
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:691,2'
          Dst:             lwsl_hexdump_level
    - functionName:    lwsl_hexdump_level
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 683
      functionLinenumberEnd: 685
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lwsl_hexdump_level_cx
      functionUses:    18
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:684,2'
          Dst:             lwsl_hexdump_level_cx
    - functionName:    lwsl_hexdump_level_cx
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 629
      functionLinenumberEnd: 679
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          276
      EdgeCount:       51
      CyclomaticComplexity: 14
      functionsReached:
        - _lws_log_cx
        - lws_snprintf
        - lwsl_visible_cx
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:633,7'
          Dst:             lwsl_visible_cx
        - Src:             'lib/core/logs.c:637,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/logs.c:643,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/logs.c:648,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/logs.c:654,8'
          Dst:             lws_snprintf
        - Src:             'lib/core/logs.c:657,9'
          Dst:             lws_snprintf
        - Src:             'lib/core/logs.c:659,9'
          Dst:             lws_snprintf
        - Src:             'lib/core/logs.c:661,8'
          Dst:             lws_snprintf
        - Src:             'lib/core/logs.c:674,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/logs.c:678,2'
          Dst:             _lws_log_cx
    - functionName:    lwsl_visible_cx
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 586
      functionLinenumberEnd: 587
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _lws_log_cx
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 546
      functionLinenumberEnd: 555
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __lws_logv
      functionUses:    521
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:553,2'
          Dst:             __lws_logv
    - functionName:    __lws_logv
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 391
      functionLinenumberEnd: 519
      functionDepth:   0
      returnType:      void
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         55
      ICount:          417
      EdgeCount:       73
      CyclomaticComplexity: 20
      functionsReached:
        - lws_now_usecs
        - lws_snprintf
        - lws_strncpy
        - lwsl_timestamp
        - strcmp
        - strlen
        - vsnprintf
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:411,3'
          Dst:             lws_strncpy
        - Src:             'lib/core/logs.c:431,3'
          Dst:             lwsl_timestamp
        - Src:             'lib/core/logs.c:432,8'
          Dst:             strlen
        - Src:             'lib/core/logs.c:463,8'
          Dst:             lws_snprintf
        - Src:             'lib/core/logs.c:469,6'
          Dst:             vsnprintf
        - Src:             'lib/core/logs.c:485,10'
          Dst:             lws_snprintf
        - Src:             'lib/core/logs.c:493,7'
          Dst:             strcmp
        - Src:             'lib/core/logs.c:495,7'
          Dst:             lws_now_usecs
        - Src:             'lib/core/logs.c:498,20'
          Dst:             strlen
        - Src:             'lib/core/logs.c:501,8'
          Dst:             lws_snprintf
        - Src:             'lib/core/logs.c:504,24'
          Dst:             lws_now_usecs
        - Src:             'lib/core/logs.c:506,3'
          Dst:             lws_strncpy
        - Src:             'lib/core/logs.c:508,24'
          Dst:             lws_now_usecs
    - functionName:    lwsl_timestamp
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 267
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          132
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - gettimeofday
        - localtime_r
        - lws_snprintf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:221,2'
          Dst:             gettimeofday
        - Src:             'lib/core/logs.c:227,8'
          Dst:             localtime_r
        - Src:             'lib/core/logs.c:237,8'
          Dst:             lws_snprintf
        - Src:             'lib/core/logs.c:247,8'
          Dst:             lws_snprintf
    - functionName:    strlen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    163
      BranchProfiles:  []
      Callsites:       []
    - functionName:    vsnprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    136
      BranchProfiles:  []
      Callsites:       []
    - functionName:    gettimeofday
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    localtime_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsl_emit_stderr
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 328
      functionLinenumberEnd: 330
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lwsl_emit_stderr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:329,2'
          Dst:             _lwsl_emit_stderr
    - functionName:    _lwsl_emit_stderr
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 307
      functionLinenumberEnd: 324
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          83
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - fprintf
        - isatty
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:311,16'
          Dst:             isatty
        - Src:             'lib/core/logs.c:321,3'
          Dst:             fprintf
        - Src:             'lib/core/logs.c:323,3'
          Dst:             fprintf
    - functionName:    isatty
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsl_visible
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 581
      functionLinenumberEnd: 582
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_set_log_level
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 573
      functionLinenumberEnd: 578
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _lws_log_cx_rl
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 559
      functionLinenumberEnd: 568
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __lws_logv
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:566,2'
          Dst:             __lws_logv
    - functionName:    _lws_log_rl
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 536
      functionLinenumberEnd: 542
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_logv
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:540,2'
          Dst:             __lws_logv
    - functionName:    _lws_log
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 527
      functionLinenumberEnd: 533
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_logv
      functionUses:    1117
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:531,2'
          Dst:             __lws_logv
    - functionName:    _lws_logv
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 522
      functionLinenumberEnd: 524
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_logv
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:523,2'
          Dst:             __lws_logv
    - functionName:    lws_log_use_cx_file
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 361
      functionLinenumberEnd: 381
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          106
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - close
        - fprintf
        - open
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:365,8'
          Dst:             open
        - Src:             'lib/core/logs.c:369,31'
          Dst:             __errno_location
        - Src:             'lib/core/logs.c:368,4'
          Dst:             fprintf
        - Src:             'lib/core/logs.c:378,3'
          Dst:             close
    - functionName:    open
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      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:    65
      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:    56
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_log_emit_cx_file
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 347
      functionLinenumberEnd: 353
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - fprintf
        - write
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:351,7'
          Dst:             write
        - Src:             'lib/core/logs.c:352,4'
          Dst:             fprintf
    - functionName:    write
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    16
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsl_emit_stderr_notimestamp
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 334
      functionLinenumberEnd: 336
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lwsl_emit_stderr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:335,2'
          Dst:             _lwsl_emit_stderr
    - functionName:    lws_log_ratelimit_check
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 271
      functionLinenumberEnd: 284
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          58
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_now_usecs
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:272,19'
          Dst:             lws_now_usecs
    - functionName:    lws_lc_tag
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __lws_lc_untag
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          93
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_dll2_remove
        - lws_humanize
        - lws_log_prepend_context
        - lws_now_usecs
        - lwsl_context_get_cx
        - lwsl_refcount_cx
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:174,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/logs.c:174,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/logs.c:174,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/logs.c:175,3'
          Dst:             __assert_fail
        - Src:             'lib/core/logs.c:180,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/logs.c:180,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/logs.c:180,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/logs.c:181,3'
          Dst:             __assert_fail
        - Src:             'lib/core/logs.c:189,18'
          Dst:             lws_now_usecs
        - Src:             'lib/core/logs.c:188,6'
          Dst:             lws_humanize
        - Src:             'lib/core/logs.c:192,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/logs.c:192,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/logs.c:192,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/logs.c:196,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core/logs.c:198,2'
          Dst:             lwsl_refcount_cx
    - functionName:    lwsl_refcount_cx
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 592
      functionLinenumberEnd: 624
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          77
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:614,3'
          Dst:             __assert_fail
    - functionName:    __lws_lc_tag_append
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 161
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          110
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - lws_snprintf
        - strlen
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:144,15'
          Dst:             strlen
        - Src:             'lib/core/logs.c:154,7'
          Dst:             lws_snprintf
    - functionName:    __lws_lc_tag
      functionSourceFile: '/src/libwebsockets/lib/core/logs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          263
      EdgeCount:       31
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_dll2_add_tail
        - lws_log_prepend_context
        - lws_now_usecs
        - lws_snprintf
        - lwsl_context_get_cx
        - lwsl_refcount_cx
        - strchr
        - strlen
        - vsnprintf
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/logs.c:62,22'
          Dst:             strchr
        - Src:             'lib/core/logs.c:71,7'
          Dst:             strlen
        - Src:             'lib/core/logs.c:78,7'
          Dst:             vsnprintf
        - Src:             'lib/core/logs.c:86,3'
          Dst:             __assert_fail
        - Src:             'lib/core/logs.c:94,2'
          Dst:             __assert_fail
        - Src:             'lib/core/logs.c:95,2'
          Dst:             __assert_fail
        - Src:             'lib/core/logs.c:103,7'
          Dst:             lws_snprintf
        - Src:             'lib/core/logs.c:109,7'
          Dst:             vsnprintf
        - Src:             'lib/core/logs.c:121,30'
          Dst:             lws_now_usecs
        - Src:             'lib/core/logs.c:122,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core/logs.c:124,2'
          Dst:             lwsl_refcount_cx
        - Src:             'lib/core/logs.c:127,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/logs.c:127,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/logs.c:127,2'
          Dst:             lws_log_prepend_context
    - functionName:    strchr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    25
      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:    6
      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:    13
      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:    43
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-misc.c:48,6'
          Dst:             clock_gettime
    - functionName:    clock_gettime
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_msleep
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-misc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - usleep
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-misc.c:39,9'
          Dst:             usleep
    - functionName:    usleep
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_describe
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 319
      functionLinenumberEnd: 332
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          76
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lws_dll2_get_head
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:323,2'
          Dst:             _lws_log
        - Src:             'lib/core/lws_dll2.c:326,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/lws_dll2.c:328,3'
          Dst:             _lws_log
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _lws_dll2_search_sz_pl
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 299
      functionLinenumberEnd: 313
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          92
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - lws_dll2_get_head
        - strncmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:300,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/lws_dll2.c:308,15'
          Dst:             strncmp
    - functionName:    strncmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    49
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_add_sorted
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 275
      functionLinenumberEnd: 294
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          80
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - lws_dll2_add_before
        - lws_dll2_add_tail
        - lws_dll2_get_head
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:276,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/lws_dll2.c:278,3'
          Dst:             __assert_fail
        - Src:             'lib/core/lws_dll2.c:282,4'
          Dst:             lws_dll2_add_before
        - Src:             'lib/core/lws_dll2.c:293,2'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_dll2_add_before
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          86
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - lws_dll2_is_detached
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:105,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core/lws_dll2.c:106,3'
          Dst:             __assert_fail
        - Src:             'lib/core/lws_dll2.c:110,6'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core/lws_dll2.c:111,3'
          Dst:             __assert_fail
    - functionName:    lws_dll2_add_tail
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          83
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - lws_dll2_is_detached
      functionUses:    35
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:178,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core/lws_dll2.c:179,3'
          Dst:             __assert_fail
    - functionName:    lws_dll2_is_detached
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          58
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - _lws_log
      functionUses:    21
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:38,3'
          Dst:             _lws_log
        - Src:             'lib/core/lws_dll2.c:50,3'
          Dst:             __assert_fail
    - functionName:    lws_dll2_add_sorted_priv
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 251
      functionLinenumberEnd: 270
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          83
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - lws_dll2_add_before
        - lws_dll2_add_tail
        - lws_dll2_get_head
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:252,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/lws_dll2.c:254,3'
          Dst:             __assert_fail
        - Src:             'lib/core/lws_dll2.c:258,4'
          Dst:             lws_dll2_add_before
        - Src:             'lib/core/lws_dll2.c:269,2'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_dll2_owner_clear
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 241
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_clear
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 233
      functionLinenumberEnd: 237
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      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:    89
      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:    19
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:71,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core/lws_dll2.c:72,3'
          Dst:             __assert_fail
    - functionName:    lws_dll2_foreach_safe
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          69
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    14
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_system_context_from_system_mgr
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2638
      functionLinenumberEnd: 2640
      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: 2631
      functionLinenumberEnd: 2632
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_pt_destroy
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1992
      functionLinenumberEnd: 2062
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         28
      ICount:          184
      EdgeCount:       36
      CyclomaticComplexity: 10
      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:2007,3'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:2014,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/context.c:2018,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core/context.c:2018,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2018,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core/context.c:2019,3'
          Dst:             __lws_free_wsi
        - Src:             'lib/core/context.c:2024,3'
          Dst:             lws_destroy_event_pipe
        - Src:             'lib/core/context.c:2041,3'
          Dst:             lws_plat_pipe_close
        - Src:             'lib/core/context.c:2046,3'
          Dst:             lws_ss_destroy_dll
        - Src:             'lib/core/context.c:2054,4'
          Dst:             _lws_destroy_ah
    - functionName:    lws_context_is_deprecated
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1961
      functionLinenumberEnd: 1962
      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: 1953
      functionLinenumberEnd: 1954
      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_deferred_cb
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1907
      functionLinenumberEnd: 1912
      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:1911,2'
          Dst:             lws_system_cpd_start
    - functionName:    lws_system_cpd_start
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1881
      functionLinenumberEnd: 1903
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          67
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - lws_ss_sys_cpd
        - lws_system_cpd_set
        - lws_system_get_ops
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/context.c:1883,17'
          Dst:             lws_system_cpd_set
        - Src:             'lib/core/context.c:1891,13'
          Dst:             lws_system_get_ops
        - Src:             'lib/core/context.c:1892,13'
          Dst:             lws_system_get_ops
        - Src:             'lib/core/context.c:1893,24'
          Dst:             lws_system_get_ops
        - Src:             'lib/core/context.c:1899,9'
          Dst:             lws_ss_sys_cpd
    - functionName:    lws_system_cpd_set
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1927
      functionLinenumberEnd: 1949
      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:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/context.c:1932,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1932,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1932,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1939,2'
          Dst:             lws_smd_msg_printf
        - Src:             'lib/core/context.c:1946,3'
          Dst:             lws_state_transition_steps
    - functionName:    lwsl_context_get_cx
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2659
      functionLinenumberEnd: 2664
      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: 2649
      functionLinenumberEnd: 2655
      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:2653,9'
          Dst:             lws_snprintf
    - functionName:    lws_system_cpd_start_defer
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1916
      functionLinenumberEnd: 1919
      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:1917,2'
          Dst:             lws_sul_schedule
        - Src:             'lib/core/context.c:1917,2'
          Dst:             lws_system_deferred_cb
    - functionName:    lws_context_destroy
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2103
      functionLinenumberEnd: 2627
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         152
      ICount:          1097
      EdgeCount:       195
      CyclomaticComplexity: 45
      functionsReached:
        - __assert_fail
        - __lws_vhost_destroy2
        - _lws_destroy_ah
        - _lws_log_cx
        - _lws_smd_destroy
        - lws_cache_destroy
        - lws_cancel_service
        - lws_close_free_wsi
        - lws_context_deinit_ssl_library
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_dlo_file_destroy
        - lws_fonts_destroy
        - lws_log_prepend_context
        - lws_log_prepend_vhost
        - lws_plat_context_early_destroy
        - lws_plat_context_late_destroy
        - lws_pt_destroy
        - lws_realloc
        - lws_ssl_context_destroy
        - lws_state_transition
        - lws_state_transition_steps
        - lws_system_blob_destroy
        - lws_system_get_blob
        - lws_vhost_destroy1
        - lwsac_free
        - lwsl_context_get_cx
        - lwsl_refcount_cx
        - lwsl_vhost_get_cx
        - wsi_from_fd
      functionUses:    4
      BranchProfiles:
        - Branch String:   'lib/core/context.c:2125,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core/context.c:2123,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2123,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2123,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2131,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2131,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2131,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2149,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core/context.c:2149,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2149,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core/context.c:2151,4'
          Dst:             lws_vhost_destroy1
        - Src:             'lib/core/context.c:2156,3'
          Dst:             lws_plat_context_early_destroy
        - Src:             'lib/core/context.c:2195,23'
          Dst:             wsi_from_fd
        - Src:             'lib/core/context.c:2200,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2200,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2200,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2204,6'
          Dst:             lws_close_free_wsi
        - Src:             'lib/core/context.c:2227,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2227,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2227,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2240,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2240,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2240,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2241,4'
          Dst:             lws_cancel_service
        - Src:             'lib/core/context.c:2273,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2273,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2273,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2284,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2284,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2284,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2289,4'
          Dst:             lws_pt_destroy
        - Src:             'lib/core/context.c:2303,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2303,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2303,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2336,2'
          Dst:             lws_state_transition
        - Src:             'lib/core/context.c:2348,4'
          Dst:             __lws_vhost_destroy2
        - Src:             'lib/core/context.c:2356,4'
          Dst:             __lws_vhost_destroy2
        - Src:             'lib/core/context.c:2360,3'
          Dst:             lws_ssl_context_destroy
        - Src:             'lib/core/context.c:2362,3'
          Dst:             lws_plat_context_late_destroy
        - Src:             'lib/core/context.c:2401,5'
          Dst:             _lws_destroy_ah
        - Src:             'lib/core/context.c:2403,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2403,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2403,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2404,4'
          Dst:             lws_pt_destroy
        - Src:             'lib/core/context.c:2415,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2415,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2415,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2423,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2423,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2423,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2442,3'
          Dst:             lws_state_transition_steps
        - Src:             'lib/core/context.c:2468,4'
          Dst:             __assert_fail
        - Src:             'lib/core/context.c:2472,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2472,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2472,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2488,3'
          Dst:             lws_cache_destroy
        - Src:             'lib/core/context.c:2489,3'
          Dst:             lws_cache_destroy
        - Src:             'lib/core/context.c:2493,3'
          Dst:             lws_cache_destroy
        - Src:             'lib/core/context.c:2494,3'
          Dst:             lws_cache_destroy
        - Src:             'lib/core/context.c:2499,3'
          Dst:             _lws_smd_destroy
        - Src:             'lib/core/context.c:2510,3'
          Dst:             lws_fonts_destroy
        - Src:             'lib/core/context.c:2511,3'
          Dst:             lws_dlo_file_destroy
        - Src:             'lib/core/context.c:2515,4'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:2517,3'
          Dst:             lws_context_deinit_ssl_library
        - Src:             'lib/core/context.c:2526,6'
          Dst:             lws_system_get_blob
        - Src:             'lib/core/context.c:2525,4'
          Dst:             lws_system_blob_destroy
        - Src:             'lib/core/context.c:2535,4'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:2539,4'
          Dst:             lwsac_free
        - Src:             'lib/core/context.c:2543,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/context.c:2548,4'
          Dst:             __assert_fail
        - Src:             'lib/core/context.c:2550,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/core/context.c:2551,4'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:2557,3'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:2608,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/core/context.c:2611,3'
          Dst:             lwsl_refcount_cx
        - Src:             'lib/core/context.c:2613,3'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:2624,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2624,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2624,2'
          Dst:             lws_log_prepend_context
    - functionName:    lws_context_creation_completion_cb
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 257
      functionLinenumberEnd: 264
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_state_transition_steps
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/context.c:262,2'
          Dst:             lws_state_transition_steps
    - functionName:    lws_state_notify_protocol_init
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 96
      functionLinenumberEnd: 253
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          216
      EdgeCount:       53
      CyclomaticComplexity: 16
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_context
        - lws_protocol_init
        - lws_ss_sys_fetch_policy
        - lws_system_do_attach
        - lwsl_context_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/context.c:111,3'
          Dst:             lws_system_do_attach
        - Src:             'lib/core/context.c:167,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:167,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:167,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:227,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:227,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:227,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:232,8'
          Dst:             lws_ss_sys_fetch_policy
        - Src:             'lib/core/context.c:250,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:250,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:250,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:252,9'
          Dst:             lws_protocol_init
    - functionName:    lws_system_smd_cb
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 271
      functionLinenumberEnd: 313
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          66
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - lws_json_simple_strcmp
        - lws_system_cpd_start
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/context.c:279,7'
          Dst:             lws_json_simple_strcmp
        - Src:             'lib/core/context.c:280,3'
          Dst:             lws_system_cpd_start
        - Src:             'lib/core/context.c:286,8'
          Dst:             lws_json_simple_strcmp
        - Src:             'lib/core/context.c:287,4'
          Dst:             lws_system_cpd_start
    - functionName:    lws_create_context
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 398
      functionLinenumberEnd: 1876
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         231
      ICount:          2146
      EdgeCount:       312
      CyclomaticComplexity: 83
      functionsReached:
        - OpenSSL_version
        - __lws_create_event_pipes
        - _lws_log
        - _lws_log_cx
        - _lws_smd_destroy
        - lws_cache_create
        - lws_cancel_service
        - lws_context_creation_completion_cb
        - lws_context_destroy
        - lws_context_init_ssl_library
        - lws_create_vhost
        - lws_dll2_remove
        - lws_get_random
        - lws_log_prepend_context
        - lws_now_usecs
        - lws_plat_context_early_init
        - lws_plat_drop_app_privileges
        - lws_plat_init
        - lws_protocol_init_vhost
        - lws_realloc
        - lws_server_get_canonical_hostname
        - lws_smd_register
        - lws_snprintf
        - lws_ss_policy_parse
        - lws_ss_policy_parse_abandon
        - lws_ss_policy_parse_begin
        - lws_ss_policy_set
        - lws_state_reg_notifier
        - lws_state_reg_notifier_list
        - lws_state_transition
        - lws_sul_schedule
        - lws_system_smd_cb
        - lws_zalloc
        - lwsl_context_get_cx
        - lwsl_refcount_cx
        - pthread_mutex_init
        - setrlimit
        - strcpy
        - strlen
        - sysconf
        - time
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/context.c:468,6'
          Dst:             lws_plat_context_early_init
        - Src:             'lib/core/context.c:659,12'
          Dst:             lws_zalloc
        - Src:             'lib/core/context.c:664,3'
          Dst:             _lws_log
        - Src:             'lib/core/context.c:673,2'
          Dst:             lwsl_refcount_cx
        - Src:             'lib/core/context.c:901,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:901,2'
          Dst:             OpenSSL_version
        - Src:             'lib/core/context.c:901,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:901,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:914,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:914,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:914,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:974,17'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:974,17'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:974,17'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:989,6'
          Dst:             lws_plat_drop_app_privileges
        - Src:             'lib/core/context.c:1069,21'
          Dst:             lws_now_usecs
        - Src:             'lib/core/context.c:1093,3'
          Dst:             setrlimit
        - Src:             'lib/core/context.c:1117,12'
          Dst:             sysconf
        - Src:             'lib/core/context.c:1122,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1122,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1122,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1130,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1130,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1130,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1158,2'
          Dst:             time
        - Src:             'lib/core/context.c:1168,10'
          Dst:             lws_snprintf
        - Src:             'lib/core/context.c:1206,3'
          Dst:             _lws_log
        - Src:             'lib/core/context.c:1228,2'
          Dst:             pthread_mutex_init
        - Src:             'lib/core/context.c:1229,2'
          Dst:             pthread_mutex_init
        - Src:             'lib/core/context.c:1233,7'
          Dst:             lws_smd_register
        - Src:             'lib/core/context.c:1233,7'
          Dst:             lws_system_smd_cb
        - Src:             'lib/core/context.c:1235,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1235,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1235,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1241,7'
          Dst:             lws_smd_register
        - Src:             'lib/core/context.c:1244,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1244,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1244,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1331,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1331,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1331,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1357,23'
          Dst:             lws_zalloc
        - Src:             'lib/core/context.c:1363,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1363,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1363,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1368,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1368,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1368,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1378,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1378,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1378,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1390,5'
          Dst:             strlen
        - Src:             'lib/core/context.c:1409,6'
          Dst:             lws_plat_init
        - Src:             'lib/core/context.c:1437,6'
          Dst:             __lws_create_event_pipes
        - Src:             'lib/core/context.c:1452,2'
          Dst:             lws_context_init_ssl_library
        - Src:             'lib/core/context.c:1457,2'
          Dst:             strcpy
        - Src:             'lib/core/context.c:1459,2'
          Dst:             lws_server_get_canonical_hostname
        - Src:             'lib/core/context.c:1535,10'
          Dst:             lws_create_vhost
        - Src:             'lib/core/context.c:1537,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1537,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1537,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1545,8'
          Dst:             lws_protocol_init_vhost
        - Src:             'lib/core/context.c:1547,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1547,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1547,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1571,2'
          Dst:             lws_state_reg_notifier
        - Src:             'lib/core/context.c:1579,2'
          Dst:             lws_state_reg_notifier_list
        - Src:             'lib/core/context.c:1589,8'
          Dst:             lws_create_vhost
        - Src:             'lib/core/context.c:1591,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1591,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1591,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1609,18'
          Dst:             lws_cache_create
        - Src:             'lib/core/context.c:1620,17'
          Dst:             lws_cache_create
        - Src:             'lib/core/context.c:1622,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1622,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1622,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1640,25'
          Dst:             lws_cache_create
        - Src:             'lib/core/context.c:1642,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1642,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1642,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1651,27'
          Dst:             lws_cache_create
        - Src:             'lib/core/context.c:1653,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1653,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1653,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1740,7'
          Dst:             lws_ss_policy_parse_begin
        - Src:             'lib/core/context.c:1750,6'
          Dst:             strlen
        - Src:             'lib/core/context.c:1748,7'
          Dst:             lws_ss_policy_parse
        - Src:             'lib/core/context.c:1753,4'
          Dst:             _lws_log
        - Src:             'lib/core/context.c:1754,4'
          Dst:             lws_ss_policy_parse_abandon
        - Src:             'lib/core/context.c:1758,7'
          Dst:             lws_ss_policy_set
        - Src:             'lib/core/context.c:1760,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1760,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1760,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1783,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1783,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1783,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1793,3'
          Dst:             lws_state_transition
        - Src:             'lib/core/context.c:1795,7'
          Dst:             lws_plat_drop_app_privileges
        - Src:             'lib/core/context.c:1810,2'
          Dst:             lws_sul_schedule
        - Src:             'lib/core/context.c:1810,2'
          Dst:             lws_context_creation_completion_cb
        - Src:             'lib/core/context.c:1815,2'
          Dst:             lws_cancel_service
        - Src:             'lib/core/context.c:1818,2'
          Dst:             lws_get_random
        - Src:             'lib/core/context.c:1831,2'
          Dst:             lws_context_destroy
        - Src:             'lib/core/context.c:1837,2'
          Dst:             lws_context_destroy
        - Src:             'lib/core/context.c:1847,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1847,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1847,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1854,3'
          Dst:             _lws_smd_destroy
        - Src:             'lib/core/context.c:1865,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/core/context.c:1871,3'
          Dst:             lwsl_refcount_cx
        - Src:             'lib/core/context.c:1872,3'
          Dst:             lws_realloc
    - functionName:    OpenSSL_version
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    setrlimit
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sysconf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    time
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_mutex_init
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strcpy
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_library_version
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_parse_iso8601
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2372
      functionLinenumberEnd: 2398
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          74
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - __isoc99_sscanf
        - timegm
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:2382,6'
          Dst:             __isoc99_sscanf
        - Src:             'lib/core/libwebsockets.c:2385,7'
          Dst:             __isoc99_sscanf
        - Src:             'lib/core/libwebsockets.c:2394,21'
          Dst:             timegm
    - functionName:    __isoc99_sscanf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    timegm
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_fx_string
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2351
      functionLinenumberEnd: 2367
      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:2355,7'
          Dst:             lws_snprintf
        - Src:             'lib/core/libwebsockets.c:2359,7'
          Dst:             lws_snprintf
    - functionName:    lws_snprintf
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 909
      functionLinenumberEnd: 924
      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:    164
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:917,6'
          Dst:             vsnprintf
    - functionName:    lws_fx_rounddown
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2345
      functionLinenumberEnd: 2346
      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: 2333
      functionLinenumberEnd: 2341
      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: 2316
      functionLinenumberEnd: 2329
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          71
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_fx_sqrt
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2291
      functionLinenumberEnd: 2309
      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: 2259
      functionLinenumberEnd: 2286
      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: 2205
      functionLinenumberEnd: 2254
      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:2210,2'
          Dst:             __assert_fail
        - Src:             'lib/core/libwebsockets.c:2211,2'
          Dst:             __assert_fail
    - functionName:    lws_fx_sub
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2178
      functionLinenumberEnd: 2200
      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: 2157
      functionLinenumberEnd: 2173
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          74
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    33
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sigbits
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2132
      functionLinenumberEnd: 2153
      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: 2081
      functionLinenumberEnd: 2128
      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: 2048
      functionLinenumberEnd: 2068
      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:2049,37'
          Dst:             lws_humanize
        - Src:             'lib/core/libwebsockets.c:2054,7'
          Dst:             strlen
        - Src:             'lib/core/libwebsockets.c:2055,8'
          Dst:             strlen
    - functionName:    lws_humanize
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2000
      functionLinenumberEnd: 2044
      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:2010,10'
          Dst:             decim
        - Src:             'lib/core/libwebsockets.c:2011,10'
          Dst:             lws_snprintf
        - Src:             'lib/core/libwebsockets.c:2016,9'
          Dst:             decim
        - Src:             'lib/core/libwebsockets.c:2026,12'
          Dst:             decim
        - Src:             'lib/core/libwebsockets.c:2030,11'
          Dst:             decim
        - Src:             'lib/core/libwebsockets.c:2034,9'
          Dst:             lws_snprintf
        - Src:             'lib/core/libwebsockets.c:2040,2'
          Dst:             __assert_fail
    - functionName:    decim
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1976
      functionLinenumberEnd: 1995
      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: 1757
      functionLinenumberEnd: 1758
      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: 1830
      functionLinenumberEnd: 1944
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          227
      EdgeCount:       33
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - atoi
        - atoll
        - exit
        - lws_cmdline_option
        - lws_set_log_level
        - lws_sigterm_catch
        - lws_switches_print_help
        - signal
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/core/libwebsockets.c:1848,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:1842,7'
          Dst:             lws_cmdline_option
        - Src:             'lib/core/libwebsockets.c:1846,7'
          Dst:             atoi
        - Src:             'lib/core/libwebsockets.c:1874,4'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:1887,4'
          Dst:             signal
        - Src:             'lib/core/libwebsockets.c:1887,4'
          Dst:             lws_sigterm_catch
        - Src:             'lib/core/libwebsockets.c:1920,40'
          Dst:             atoll
        - Src:             'lib/core/libwebsockets.c:1923,41'
          Dst:             atoll
        - Src:             'lib/core/libwebsockets.c:1928,4'
          Dst:             lws_set_log_level
        - Src:             'lib/core/libwebsockets.c:1929,4'
          Dst:             lws_switches_print_help
        - Src:             'lib/core/libwebsockets.c:1930,4'
          Dst:             exit
        - Src:             'lib/core/libwebsockets.c:1937,2'
          Dst:             lws_set_log_level
    - functionName:    lws_cmdline_option
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1749
      functionLinenumberEnd: 1750
      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:1750,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:    42
      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:    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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_switches_print_help
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1642
      functionLinenumberEnd: 1660
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          76
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lws_set_log_level
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:1645,2'
          Dst:             lws_set_log_level
        - Src:             'lib/core/libwebsockets.c:1647,2'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:1648,2'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:1651,3'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:1654,2'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:1656,3'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:1659,2'
          Dst:             _lws_log
    - functionName:    exit
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_cmdline_options
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1664
      functionLinenumberEnd: 1714
      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:1670,7'
          Dst:             strlen
        - Src:             'lib/core/libwebsockets.c:1674,14'
          Dst:             strncmp
        - Src:             'lib/core/libwebsockets.c:1687,24'
          Dst:             strlen
    - functionName:    lws_cmdline_passfail
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1809
      functionLinenumberEnd: 1825
      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:1813,11'
          Dst:             lws_cmdline_option
        - Src:             'lib/core/libwebsockets.c:1814,14'
          Dst:             atoi
        - Src:             'lib/core/libwebsockets.c:1817,3'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:1822,2'
          Dst:             _lws_log
    - functionName:    lws_context_default_loop_run_destroy
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1796
      functionLinenumberEnd: 1803
      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:1799,36'
          Dst:             lws_service
        - Src:             'lib/core/libwebsockets.c:1802,9'
          Dst:             lws_context_destroy
    - functionName:    lws_default_loop_exit
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1784
      functionLinenumberEnd: 1791
      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:1788,3'
          Dst:             lws_cancel_service
    - functionName:    _lws_context_info_defaults
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1764
      functionLinenumberEnd: 1780
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          23
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_cmdline_option_cx_argv0
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1736
      functionLinenumberEnd: 1744
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          54
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_cmdline_option_cx
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1730
      functionLinenumberEnd: 1731
      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:1731,9'
          Dst:             lws_cmdline_options_cx
    - functionName:    lws_cmdline_options_cx
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1718
      functionLinenumberEnd: 1726
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          64
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - lws_cmdline_options
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:1723,10'
          Dst:             lws_cmdline_options
        - Src:             'lib/core/libwebsockets.c:1725,9'
          Dst:             lws_cmdline_options
    - functionName:    lws_strcmp_wildcard
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1417
      functionLinenumberEnd: 1495
      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:1458,5'
          Dst:             _lws_log
    - functionName:    lws_strexp_expand
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1333
      functionLinenumberEnd: 1412
      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:1339,3'
          Branch Sides:    []
      Callsites:       []
    - functionName:    lws_strexp_reset_out
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1324
      functionLinenumberEnd: 1328
      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: 1313
      functionLinenumberEnd: 1320
      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: 1287
      functionLinenumberEnd: 1300
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          58
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tokenize_cstr
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1275
      functionLinenumberEnd: 1283
      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: 949
      functionLinenumberEnd: 1270
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         251
      ICount:          1521
      EdgeCount:       340
      CyclomaticComplexity: 91
      functionsReached:
        - lws_check_byte_utf8
        - strchr
      functionUses:    13
      BranchProfiles:
        - Branch String:   'lib/core/libwebsockets.c:1028,4'
          Branch Sides:    []
        - Branch String:   'lib/core/libwebsockets.c:1141,4'
          Branch Sides:    []
        - Branch String:   'lib/core/libwebsockets.c:1183,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:995,10'
          Dst:             lws_check_byte_utf8
        - Src:             'lib/core/libwebsockets.c:1128,18'
          Dst:             strchr
    - functionName:    lws_check_byte_utf8
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 364
      functionLinenumberEnd: 383
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          116
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_timingsafe_bcmp
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 937
      functionLinenumberEnd: 944
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          51
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_effective_uid_gid
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 901
      functionLinenumberEnd: 904
      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: 884
      functionLinenumberEnd: 896
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          49
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lws_plat_drop_app_privileges
        - lws_state_transition
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:886,3'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:888,3'
          Dst:             lws_state_transition
        - Src:             'lib/core/libwebsockets.c:891,7'
          Dst:             lws_plat_drop_app_privileges
    - functionName:    lws_strncpy
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 928
      functionLinenumberEnd: 932
      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:    69
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:929,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: 784
      functionLinenumberEnd: 880
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         76
      ICount:          457
      EdgeCount:       103
      CyclomaticComplexity: 29
      functionsReached:
        - lws_snprintf
        - lws_strncpy
        - strlen
        - strncmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:791,3'
          Dst:             lws_snprintf
        - Src:             'lib/core/libwebsockets.c:796,7'
          Dst:             strncmp
        - Src:             'lib/core/libwebsockets.c:797,7'
          Dst:             strncmp
        - Src:             'lib/core/libwebsockets.c:798,7'
          Dst:             strncmp
        - Src:             'lib/core/libwebsockets.c:800,3'
          Dst:             lws_strncpy
        - Src:             'lib/core/libwebsockets.c:804,7'
          Dst:             strncmp
        - Src:             'lib/core/libwebsockets.c:805,7'
          Dst:             strlen
        - Src:             'lib/core/libwebsockets.c:815,3'
          Dst:             lws_snprintf
        - Src:             'lib/core/libwebsockets.c:874,16'
          Dst:             strlen
        - Src:             'lib/core/libwebsockets.c:877,2'
          Dst:             lws_strncpy
    - functionName:    lws_urldecode
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 718
      functionLinenumberEnd: 763
      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:723,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:740,8'
          Dst:             char_to_hex
        - Src:             'lib/core/libwebsockets.c:749,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: 687
      functionLinenumberEnd: 713
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          178
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_filename_purify_inplace
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 665
      functionLinenumberEnd: 683
      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: 640
      functionLinenumberEnd: 660
      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: 575
      functionLinenumberEnd: 636
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          252
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sql_purify_len
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 561
      functionLinenumberEnd: 570
      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: 556
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          82
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_json_simple_strcmp
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 523
      functionLinenumberEnd: 534
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          56
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - lws_json_simple_find
        - strlen
        - strncmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:525,20'
          Dst:             lws_json_simple_find
        - Src:             'lib/core/libwebsockets.c:530,12'
          Dst:             strlen
        - Src:             'lib/core/libwebsockets.c:533,9'
          Dst:             strncmp
    - functionName:    lws_json_simple_find
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 474
      functionLinenumberEnd: 518
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          238
      EdgeCount:       59
      CyclomaticComplexity: 17
      functionsReached:
        - lws_nstrstr
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:475,14'
          Dst:             strlen
        - Src:             'lib/core/libwebsockets.c:476,19'
          Dst:             lws_nstrstr
    - functionName:    lws_nstrstr
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 430
      functionLinenumberEnd: 466
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          144
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_strdup
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 418
      functionLinenumberEnd: 425
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_realloc
        - strlen
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:419,13'
          Dst:             strlen
        - Src:             'lib/core/libwebsockets.c:420,12'
          Dst:             lws_realloc
    - functionName:    lws_check_utf8
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 387
      functionLinenumberEnd: 413
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          138
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_count_threads
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 330
      functionLinenumberEnd: 331
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_canonical_hostname
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 324
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_now_secs
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 310
      functionLinenumberEnd: 315
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - gettimeofday
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:313,2'
          Dst:             gettimeofday
    - functionName:    lws_explicit_bzero
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 295
      functionLinenumberEnd: 300
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          28
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_context_user
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 289
      functionLinenumberEnd: 290
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_pthread_self_to_tsi
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 265
      functionLinenumberEnd: 283
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_open
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 259
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          93
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - close
        - lws_plat_apply_FD_CLOEXEC
        - open
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:246,7'
          Dst:             open
        - Src:             'lib/core/libwebsockets.c:249,7'
          Dst:             open
        - Src:             'lib/core/libwebsockets.c:252,17'
          Dst:             lws_plat_apply_FD_CLOEXEC
        - Src:             'lib/core/libwebsockets.c:253,3'
          Dst:             close
    - functionName:    lws_assert_fourcc
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 208
      functionLinenumberEnd: 218
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          49
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - _lws_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:212,2'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:218,2'
          Dst:             __assert_fail
    - functionName:    lws_hex_random
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 183
      functionLinenumberEnd: 203
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          113
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - lws_get_random
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:187,6'
          Dst:             lws_get_random
    - functionName:    lws_hex_from_byte_array
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 167
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          84
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_hex_to_byte_array
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_hex_len_to_byte_array
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:160,38'
          Dst:             strlen
        - Src:             'lib/core/libwebsockets.c:160,9'
          Dst:             lws_hex_len_to_byte_array
    - functionName:    lws_hex_len_to_byte_array
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          123
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - char_to_hex
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:138,11'
          Dst:             char_to_hex
        - Src:             'lib/core/libwebsockets.c:143,8'
          Dst:             char_to_hex
    - functionName:    lws_vbi_decode
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          83
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_vbi_encode
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          78
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:79,3'
          Dst:             __assert_fail
    - functionName:    lws_ser_ru64be
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_ser_ru32be
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:70,21'
          Dst:             lws_ser_ru32be
        - Src:             'lib/core/libwebsockets.c:70,49'
          Dst:             lws_ser_ru32be
    - functionName:    lws_ser_ru32be
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          28
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    27
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ser_ru16be
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    18
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ser_wu64be
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_ser_wu32be
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:51,2'
          Dst:             lws_ser_wu32be
        - Src:             'lib/core/libwebsockets.c:52,2'
          Dst:             lws_ser_wu32be
    - functionName:    lws_ser_wu32be
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          33
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      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:    4
      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:    4
      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:    4
      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:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:208,4'
          Dst:             _lws_log
    - functionName:    lws_cache_lookup
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/lws-cache-ttl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 200
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          277
      EdgeCount:       41
      CyclomaticComplexity: 12
      functionsReached:
        - _lws_log
        - lws_cache_clear_matches
        - lws_realloc
        - lws_ser_wu32be
        - lws_strncpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:104,2'
          Dst:             lws_strncpy
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:124,3'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:126,3'
          Dst:             lws_cache_clear_matches
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:148,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:151,9'
          Dst:             lws_realloc
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:153,3'
          Dst:             lws_cache_clear_matches
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:167,3'
          Dst:             lws_ser_wu32be
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:170,3'
          Dst:             lws_ser_wu32be
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:179,2'
          Dst:             lws_cache_clear_matches
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:189,2'
          Dst:             lws_realloc
    - functionName:    lws_cache_clear_matches
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/lws-cache-ttl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          55
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - lws_dll2_remove
        - lws_realloc
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:40,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:41,3'
          Dst:             lws_realloc
    - functionName:    lws_cache_item_remove
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/lws-cache-ttl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 234
      functionLinenumberEnd: 243
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_cache_write_through
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/lws-cache-ttl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          105
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - lws_cache_item_remove
      functionUses:    4
      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: 561
      functionLinenumberEnd: 571
      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:565,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/heap.c:569,2'
          Dst:             lwsl_hexdump_level
    - functionName:    lws_cache_heap_specific
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 236
      functionLinenumberEnd: 249
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          65
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:243,8'
          Dst:             strcmp
    - functionName:    sort_expiry
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_cache_item_evict_lru
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_cache_heap_item_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:163,2'
          Dst:             lws_cache_heap_item_destroy
    - functionName:    lws_cache_heap_item_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          232
      EdgeCount:       42
      CyclomaticComplexity: 10
      functionsReached:
        - __assert_fail
        - _lws_cache_heap_item_destroy
        - lws_ser_ru32be
        - strcmp
        - strlen
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:106,20'
          Dst:             strlen
        - Src:             'lib/misc/cache-ttl/heap.c:115,21'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/cache-ttl/heap.c:118,10'
          Dst:             strcmp
        - Src:             'lib/misc/cache-ttl/heap.c:126,6'
          Dst:             __assert_fail
        - Src:             'lib/misc/cache-ttl/heap.c:129,6'
          Dst:             _lws_cache_heap_item_destroy
        - Src:             'lib/misc/cache-ttl/heap.c:141,4'
          Dst:             __assert_fail
        - Src:             'lib/misc/cache-ttl/heap.c:149,2'
          Dst:             _lws_cache_heap_item_destroy
    - functionName:    _lws_cache_heap_item_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          74
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - lws_dll2_remove
        - lws_realloc
        - update_sul
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:57,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/heap.c:60,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/cache-ttl/heap.c:61,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/cache-ttl/heap.c:65,2'
          Dst:             update_sul
        - Src:             'lib/misc/cache-ttl/heap.c:70,2'
          Dst:             lws_realloc
    - functionName:    update_sul
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 214
      functionLinenumberEnd: 231
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - earliest_expiry
        - expiry_cb
        - lws_cache_schedule
        - lws_sul_cancel
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:218,2'
          Dst:             expiry_cb
        - Src:             'lib/misc/cache-ttl/heap.c:221,6'
          Dst:             earliest_expiry
        - Src:             'lib/misc/cache-ttl/heap.c:222,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/misc/cache-ttl/heap.c:226,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/heap.c:230,3'
          Dst:             lws_cache_schedule
        - Src:             'lib/misc/cache-ttl/heap.c:230,3'
          Dst:             expiry_cb
    - functionName:    expiry_cb
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          61
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lws_cache_heap_item_destroy
        - lws_now_usecs
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:175,19'
          Dst:             lws_now_usecs
        - Src:             'lib/misc/cache-ttl/heap.c:177,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/heap.c:188,3'
          Dst:             lws_cache_heap_item_destroy
    - functionName:    earliest_expiry
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 210
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          38
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    destroy_dll
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 521
      functionLinenumberEnd: 529
      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:527,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: 576
      functionLinenumberEnd: 593
      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:587,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/heap.c:592,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/misc/cache-ttl/heap.c:592,2'
          Dst:             dump_dll
    - functionName:    lws_cache_heap_get
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 428
      functionLinenumberEnd: 446
      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:432,9'
          Dst:             lws_cache_heap_specific
        - Src:             'lib/misc/cache-ttl/heap.c:437,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/cache-ttl/heap.c:438,2'
          Dst:             lws_dll2_add_head
    - functionName:    lws_cache_heap_invalidate
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 450
      functionLinenumberEnd: 495
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          149
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - _lws_cache_heap_item_destroy
        - lws_cache_heap_get
        - lws_cache_heap_item_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:457,6'
          Dst:             lws_cache_heap_get
        - Src:             'lib/misc/cache-ttl/heap.c:487,5'
          Dst:             _lws_cache_heap_item_destroy
        - Src:             'lib/misc/cache-ttl/heap.c:492,2'
          Dst:             lws_cache_heap_item_destroy
    - functionName:    lws_cache_heap_lookup
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 261
      functionLinenumberEnd: 319
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          180
      EdgeCount:       33
      CyclomaticComplexity: 9
      functionsReached:
        - lws_cache_clear_matches
        - lws_dll2_add_tail
        - lws_realloc
        - lws_strcmp_wildcard
        - strcmp
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:263,17'
          Dst:             strlen
        - Src:             'lib/misc/cache-ttl/heap.c:272,7'
          Dst:             strlen
        - Src:             'lib/misc/cache-ttl/heap.c:271,8'
          Dst:             lws_strcmp_wildcard
        - Src:             'lib/misc/cache-ttl/heap.c:273,18'
          Dst:             strlen
        - Src:             'lib/misc/cache-ttl/heap.c:287,10'
          Dst:             strcmp
        - Src:             'lib/misc/cache-ttl/heap.c:301,6'
          Dst:             lws_realloc
        - Src:             'lib/misc/cache-ttl/heap.c:304,6'
          Dst:             lws_cache_clear_matches
        - Src:             'lib/misc/cache-ttl/heap.c:312,5'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_cache_heap_tag_match
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 254
      functionLinenumberEnd: 255
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_strcmp_wildcard
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:255,33'
          Dst:             strlen
        - Src:             'lib/misc/cache-ttl/heap.c:255,50'
          Dst:             strlen
        - Src:             'lib/misc/cache-ttl/heap.c:255,9'
          Dst:             lws_strcmp_wildcard
    - functionName:    lws_cache_heap_write
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 325
      functionLinenumberEnd: 423
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          339
      EdgeCount:       59
      CyclomaticComplexity: 16
      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:377,3'
          Dst:             lws_cache_item_evict_lru
        - Src:             'lib/misc/cache-ttl/heap.c:381,2'
          Dst:             lws_cache_heap_invalidate
        - Src:             'lib/misc/cache-ttl/heap.c:384,4'
          Dst:             lws_realloc
        - Src:             'lib/misc/cache-ttl/heap.c:410,3'
          Dst:             lws_dll2_add_sorted
        - Src:             'lib/misc/cache-ttl/heap.c:410,3'
          Dst:             sort_expiry
        - Src:             'lib/misc/cache-ttl/heap.c:414,3'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/heap.c:416,3'
          Dst:             lws_cache_schedule
        - Src:             'lib/misc/cache-ttl/heap.c:416,3'
          Dst:             expiry_cb
        - Src:             'lib/misc/cache-ttl/heap.c:420,2'
          Dst:             lws_dll2_add_head
    - functionName:    lws_cache_heap_expunge
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 534
      functionLinenumberEnd: 539
      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:537,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/misc/cache-ttl/heap.c:537,2'
          Dst:             destroy_dll
    - functionName:    lws_cache_heap_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 544
      functionLinenumberEnd: 556
      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:551,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/misc/cache-ttl/heap.c:553,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/misc/cache-ttl/heap.c:553,2'
          Dst:             destroy_dll
        - Src:             'lib/misc/cache-ttl/heap.c:555,2'
          Dst:             lws_realloc
    - functionName:    lws_cache_heap_create
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 499
      functionLinenumberEnd: 517
      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:502,2'
          Dst:             __assert_fail
        - Src:             'lib/misc/cache-ttl/heap.c:503,2'
          Dst:             __assert_fail
        - Src:             'lib/misc/cache-ttl/heap.c:506,6'
          Dst:             lws_zalloc
    - functionName:    nsc_dump_cb
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 980
      functionLinenumberEnd: 983
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lwsl_hexdump_level
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:981,2'
          Dst:             lwsl_hexdump_level
    - functionName:    nsc_get_cb
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 800
      functionLinenumberEnd: 880
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          235
      EdgeCount:       38
      CyclomaticComplexity: 12
      functionsReached:
        - _lws_log
        - lws_buflist_append_segment
        - lws_buflist_destroy_all_segments
        - lws_buflist_next_segment_len
        - lws_buflist_total_len
        - lws_buflist_use_segment
        - nsc_line_to_tag
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:811,6'
          Dst:             nsc_line_to_tag
        - Src:             'lib/misc/cache-ttl/file.c:812,3'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:816,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:818,6'
          Dst:             strcmp
        - Src:             'lib/misc/cache-ttl/file.c:819,3'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:825,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:846,6'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/misc/cache-ttl/file.c:857,10'
          Dst:             lws_buflist_total_len
        - Src:             'lib/misc/cache-ttl/file.c:866,16'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/misc/cache-ttl/file.c:871,3'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/misc/cache-ttl/file.c:877,2'
          Dst:             lws_buflist_destroy_all_segments
    - functionName:    nsc_line_to_tag
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 395
      functionLinenumberEnd: 461
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          257
      EdgeCount:       51
      CyclomaticComplexity: 12
      functionsReached:
        - _lws_log
        - atoll
        - lws_now_usecs
        - time
      functionUses:    4
      BranchProfiles:
        - Branch String:   'lib/misc/cache-ttl/file.c:415,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:422,11'
          Dst:             atoll
        - Src:             'lib/misc/cache-ttl/file.c:424,55'
          Dst:             time
        - Src:             'lib/misc/cache-ttl/file.c:425,14'
          Dst:             lws_now_usecs
        - Src:             'lib/misc/cache-ttl/file.c:458,2'
          Dst:             _lws_log
    - functionName:    nsc_lookup_cb
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 474
      functionLinenumberEnd: 525
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          155
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - lws_cache_nscookiejar_tag_match
        - lws_dll2_add_tail
        - lws_realloc
        - nsc_line_to_tag
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:495,6'
          Dst:             nsc_line_to_tag
        - Src:             'lib/misc/cache-ttl/file.c:498,6'
          Dst:             lws_cache_nscookiejar_tag_match
        - Src:             'lib/misc/cache-ttl/file.c:502,12'
          Dst:             strlen
        - Src:             'lib/misc/cache-ttl/file.c:510,4'
          Dst:             lws_realloc
        - Src:             'lib/misc/cache-ttl/file.c:522,2'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_cache_nscookiejar_tag_match
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 343
      functionLinenumberEnd: 386
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          199
      EdgeCount:       39
      CyclomaticComplexity: 11
      functionsReached:
        - _lws_log
        - nsc_match
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:344,28'
          Dst:             strlen
        - Src:             'lib/misc/cache-ttl/file.c:344,57'
          Dst:             strlen
        - Src:             'lib/misc/cache-ttl/file.c:348,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:365,3'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:368,7'
          Dst:             nsc_match
        - Src:             'lib/misc/cache-ttl/file.c:371,4'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:383,2'
          Dst:             _lws_log
    - functionName:    nsc_match
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 336
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          160
      EdgeCount:       42
      CyclomaticComplexity: 13
      functionsReached:
        - lws_strcmp_wildcard
        - strcmp
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:308,10'
          Dst:             lws_strcmp_wildcard
        - Src:             'lib/misc/cache-ttl/file.c:320,7'
          Dst:             strcmp
        - Src:             'lib/misc/cache-ttl/file.c:325,30'
          Dst:             strncmp
        - Src:             'lib/misc/cache-ttl/file.c:329,9'
          Dst:             strncmp
    - functionName:    nsc_backing_close_unlock
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - close
        - lws_snprintf
        - unlink
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:123,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:125,2'
          Dst:             lws_snprintf
        - Src:             'lib/misc/cache-ttl/file.c:128,3'
          Dst:             close
        - Src:             'lib/misc/cache-ttl/file.c:129,2'
          Dst:             unlink
    - functionName:    unlink
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    nsc_regen_cb
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 587
      functionLinenumberEnd: 641
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          230
      EdgeCount:       54
      CyclomaticComplexity: 16
      functionsReached:
        - _lws_log
        - lws_cache_nscookiejar_tag_match
        - nsc_line_to_tag
        - write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:596,7'
          Dst:             nsc_line_to_tag
        - Src:             'lib/misc/cache-ttl/file.c:611,4'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:614,8'
          Dst:             lws_cache_nscookiejar_tag_match
        - Src:             'lib/misc/cache-ttl/file.c:617,4'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:628,6'
          Dst:             write
        - Src:             'lib/misc/cache-ttl/file.c:632,15'
          Dst:             write
    - functionName:    nscookiejar_iterate
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 278
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         61
      ICount:          359
      EdgeCount:       82
      CyclomaticComplexity: 23
      functionsReached:
        - _lws_log
        - lseek
        - read
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:159,6'
          Dst:             lseek
        - Src:             'lib/misc/cache-ttl/file.c:165,3'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:181,10'
          Dst:             read
        - Src:             'lib/misc/cache-ttl/file.c:183,3'
          Dst:             _lws_log
    - functionName:    nsc_backing_open_lock
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          108
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - _lws_log
        - close
        - lws_snprintf
        - open
        - unlink
        - usleep
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:81,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:83,2'
          Dst:             lws_snprintf
        - Src:             'lib/misc/cache-ttl/file.c:87,13'
          Dst:             open
        - Src:             'lib/misc/cache-ttl/file.c:89,4'
          Dst:             close
        - Src:             'lib/misc/cache-ttl/file.c:94,4'
          Dst:             __errno_location
        - Src:             'lib/misc/cache-ttl/file.c:94,4'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:102,3'
          Dst:             usleep
        - Src:             'lib/misc/cache-ttl/file.c:106,7'
          Dst:             open
        - Src:             'lib/misc/cache-ttl/file.c:110,3'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:112,3'
          Dst:             unlink
    - functionName:    nsc_regen
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 646
      functionLinenumberEnd: 733
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          252
      EdgeCount:       48
      CyclomaticComplexity: 14
      functionsReached:
        - _lws_log
        - close
        - expiry_cb
        - lws_cache_schedule
        - lws_now_usecs
        - lws_snprintf
        - nsc_backing_close_unlock
        - nsc_backing_open_lock
        - nsc_regen_cb
        - nscookiejar_iterate
        - open
        - rename
        - unlink
        - write
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:651,7'
          Dst:             nsc_backing_open_lock
        - Src:             'lib/misc/cache-ttl/file.c:655,2'
          Dst:             lws_snprintf
        - Src:             'lib/misc/cache-ttl/file.c:657,2'
          Dst:             unlink
        - Src:             'lib/misc/cache-ttl/file.c:662,12'
          Dst:             open
        - Src:             'lib/misc/cache-ttl/file.c:670,6'
          Dst:             write
        - Src:             'lib/misc/cache-ttl/file.c:676,6'
          Dst:             write
        - Src:             'lib/misc/cache-ttl/file.c:679,13'
          Dst:             write
        - Src:             'lib/misc/cache-ttl/file.c:687,13'
          Dst:             lws_now_usecs
        - Src:             'lib/misc/cache-ttl/file.c:693,6'
          Dst:             nscookiejar_iterate
        - Src:             'lib/misc/cache-ttl/file.c:693,6'
          Dst:             nsc_regen_cb
        - Src:             'lib/misc/cache-ttl/file.c:696,2'
          Dst:             close
        - Src:             'lib/misc/cache-ttl/file.c:710,6'
          Dst:             unlink
        - Src:             'lib/misc/cache-ttl/file.c:711,3'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:713,6'
          Dst:             rename
        - Src:             'lib/misc/cache-ttl/file.c:714,3'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:718,3'
          Dst:             lws_cache_schedule
        - Src:             'lib/misc/cache-ttl/file.c:718,3'
          Dst:             expiry_cb
        - Src:             'lib/misc/cache-ttl/file.c:726,3'
          Dst:             close
        - Src:             'lib/misc/cache-ttl/file.c:728,2'
          Dst:             unlink
        - Src:             'lib/misc/cache-ttl/file.c:730,2'
          Dst:             nsc_backing_close_unlock
    - functionName:    rename
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    expiry_cb
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 737
      functionLinenumberEnd: 751
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          46
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - expiry_cb
        - lws_cache_schedule
        - nsc_regen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:745,6'
          Dst:             nsc_regen
        - Src:             'lib/misc/cache-ttl/file.c:749,3'
          Dst:             lws_cache_schedule
        - Src:             'lib/misc/cache-ttl/file.c:749,3'
          Dst:             expiry_cb
    - functionName:    lws_cache_nscookiejar_debug_dump
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 988
      functionLinenumberEnd: 1000
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - nsc_backing_close_unlock
        - nsc_backing_open_lock
        - nsc_dump_cb
        - nscookiejar_iterate
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:990,11'
          Dst:             nsc_backing_open_lock
        - Src:             'lib/misc/cache-ttl/file.c:995,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:997,2'
          Dst:             nscookiejar_iterate
        - Src:             'lib/misc/cache-ttl/file.c:997,2'
          Dst:             nsc_dump_cb
        - Src:             'lib/misc/cache-ttl/file.c:999,2'
          Dst:             nsc_backing_close_unlock
    - functionName:    lws_cache_nscookiejar_get
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 886
      functionLinenumberEnd: 911
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          89
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - nsc_backing_close_unlock
        - nsc_backing_open_lock
        - nsc_get_cb
        - nscookiejar_iterate
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:891,7'
          Dst:             nsc_backing_open_lock
        - Src:             'lib/misc/cache-ttl/file.c:906,8'
          Dst:             nscookiejar_iterate
        - Src:             'lib/misc/cache-ttl/file.c:906,8'
          Dst:             nsc_get_cb
        - Src:             'lib/misc/cache-ttl/file.c:908,2'
          Dst:             nsc_backing_close_unlock
    - functionName:    lws_cache_nscookiejar_invalidate
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 916
      functionLinenumberEnd: 919
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - nsc_regen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:919,9'
          Dst:             nsc_regen
    - functionName:    lws_cache_nscookiejar_lookup
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 531
      functionLinenumberEnd: 554
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          65
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - nsc_backing_close_unlock
        - nsc_backing_open_lock
        - nsc_lookup_cb
        - nscookiejar_iterate
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:536,7'
          Dst:             nsc_backing_open_lock
        - Src:             'lib/misc/cache-ttl/file.c:542,14'
          Dst:             strlen
        - Src:             'lib/misc/cache-ttl/file.c:545,8'
          Dst:             nscookiejar_iterate
        - Src:             'lib/misc/cache-ttl/file.c:545,8'
          Dst:             nsc_lookup_cb
        - Src:             'lib/misc/cache-ttl/file.c:551,2'
          Dst:             nsc_backing_close_unlock
    - functionName:    lws_cache_nscookiejar_write
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 760
      functionLinenumberEnd: 781
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          89
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - _lws_log
        - nsc_line_to_tag
        - nsc_regen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:764,2'
          Dst:             _lws_log
        - Src:             'lib/misc/cache-ttl/file.c:766,2'
          Dst:             __assert_fail
        - Src:             'lib/misc/cache-ttl/file.c:768,6'
          Dst:             nsc_line_to_tag
        - Src:             'lib/misc/cache-ttl/file.c:774,6'
          Dst:             nsc_regen
        - Src:             'lib/misc/cache-ttl/file.c:775,3'
          Dst:             _lws_log
    - functionName:    lws_cache_nscookiejar_expunge
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 947
      functionLinenumberEnd: 960
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - unlink
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:954,6'
          Dst:             unlink
        - Src:             'lib/misc/cache-ttl/file.c:956,3'
          Dst:             _lws_log
    - functionName:    lws_cache_nscookiejar_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 964
      functionLinenumberEnd: 973
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          38
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - lws_realloc
        - lws_sul_cancel
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:970,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/misc/cache-ttl/file.c:972,2'
          Dst:             lws_realloc
    - functionName:    lws_cache_nscookiejar_create
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 924
      functionLinenumberEnd: 943
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - expiry_cb
        - lws_zalloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/file.c:928,6'
          Dst:             lws_zalloc
        - Src:             'lib/misc/cache-ttl/file.c:938,2'
          Dst:             expiry_cb
        - Src:             'lib/misc/cache-ttl/file.c:940,2'
          Dst:             _lws_log
    - functionName:    lws_dlo_filesystem_fops_open
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 813
      functionLinenumberEnd: 838
      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:819,6'
          Dst:             lws_dlo_file_choose
        - Src:             'lib/misc/dlo/dlo.c:822,12'
          Dst:             lws_zalloc
        - Src:             'lib/misc/dlo/dlo.c:835,3'
          Dst:             _lws_log
    - functionName:    lws_dlo_file_choose
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 669
      functionLinenumberEnd: 681
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          58
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - lws_dll2_get_head
        - strcmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:670,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:675,8'
          Dst:             strcmp
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dlo_filesystem_fops_read
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 786
      functionLinenumberEnd: 806
      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: 777
      functionLinenumberEnd: 780
      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: 762
      functionLinenumberEnd: 771
      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: 754
      functionLinenumberEnd: 756
      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:755,2'
          Dst:             lws_realloc
    - functionName:    lws_display_render_add_id
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 715
      functionLinenumberEnd: 733
      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:718,7'
          Dst:             lws_display_render_get_id
        - Src:             'lib/misc/dlo/dlo.c:724,7'
          Dst:             lws_zalloc
        - Src:             'lib/misc/dlo/dlo.c:727,3'
          Dst:             lws_strncpy
        - Src:             'lib/misc/dlo/dlo.c:729,3'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_display_render_get_id
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 701
      functionLinenumberEnd: 711
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          58
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - lws_dll2_get_head
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:702,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:705,8'
          Dst:             strcmp
    - functionName:    lws_display_id_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 685
      functionLinenumberEnd: 690
      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:688,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:689,2'
          Dst:             lws_realloc
    - functionName:    lws_display_render_free_ids
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 695
      functionLinenumberEnd: 697
      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:696,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/misc/dlo/dlo.c:696,2'
          Dst:             lws_display_id_destroy
    - functionName:    _lws_dlo_file_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 656
      functionLinenumberEnd: 658
      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:657,2'
          Dst:             lws_realloc
    - functionName:    lws_dlo_file_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 663
      functionLinenumberEnd: 665
      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:664,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/misc/dlo/dlo.c:664,2'
          Dst:             _lws_dlo_file_destroy
    - functionName:    lws_dlo_file_unregister_by_name
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 643
      functionLinenumberEnd: 652
      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:646,30'
          Dst:             lws_dlo_file_choose
        - Src:             'lib/misc/dlo/dlo.c:650,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:651,2'
          Dst:             lws_realloc
    - functionName:    lws_dlo_file_unregister
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 633
      functionLinenumberEnd: 639
      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:637,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:638,2'
          Dst:             lws_realloc
    - functionName:    lws_dlo_file_register
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 603
      functionLinenumberEnd: 625
      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:607,6'
          Dst:             lws_dlo_file_choose
        - Src:             'lib/misc/dlo/dlo.c:610,3'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:611,3'
          Dst:             lws_dlo_file_unregister
        - Src:             'lib/misc/dlo/dlo.c:614,6'
          Dst:             lws_realloc
        - Src:             'lib/misc/dlo/dlo.c:619,2'
          Dst:             lws_dll2_clear
        - Src:             'lib/misc/dlo/dlo.c:620,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/misc/dlo/dlo.c:622,2'
          Dst:             _lws_log
    - functionName:    lws_display_list_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 588
      functionLinenumberEnd: 599
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          45
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_display_dlo_destroy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:597,3'
          Dst:             lws_display_dlo_destroy
    - functionName:    lws_display_dlo_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 560
      functionLinenumberEnd: 584
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          88
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - dlo_clean_table_cols
        - dlo_clean_table_rows
        - lws_display_dlo_destroy
        - lws_dll2_foreach_safe
        - lws_dll2_remove
        - lws_realloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:566,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:567,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:568,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:574,3'
          Dst:             lws_display_dlo_destroy
        - Src:             'lib/misc/dlo/dlo.c:577,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/misc/dlo/dlo.c:577,2'
          Dst:             dlo_clean_table_cols
        - Src:             'lib/misc/dlo/dlo.c:578,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/misc/dlo/dlo.c:578,2'
          Dst:             dlo_clean_table_rows
        - Src:             'lib/misc/dlo/dlo.c:583,2'
          Dst:             lws_realloc
    - functionName:    dlo_clean_table_cols
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 549
      functionLinenumberEnd: 555
      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:552,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:553,2'
          Dst:             lws_realloc
    - functionName:    dlo_clean_table_rows
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 538
      functionLinenumberEnd: 544
      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:541,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/misc/dlo/dlo.c:542,2'
          Dst:             lws_realloc
    - functionName:    lws_display_list_render_line
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 424
      functionLinenumberEnd: 534
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         48
      ICount:          397
      EdgeCount:       65
      CyclomaticComplexity: 19
      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:428,3'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:436,7'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:463,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:464,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:469,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:471,18'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo.c:476,4'
          Dst:             lws_display_dlo_destroy
        - Src:             'lib/misc/dlo/dlo.c:510,6'
          Dst:             _lws_log
    - functionName:    lws_display_render_dump_ids
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 737
      functionLinenumberEnd: 748
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          79
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:738,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:742,4'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:744,4'
          Dst:             _lws_log
    - functionName:    lws_display_get_ids_boxes
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 340
      functionLinenumberEnd: 420
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         37
      ICount:          346
      EdgeCount:       49
      CyclomaticComplexity: 14
      functionsReached:
        - _lws_log
        - lws_display_render_dump_ids
        - lws_dll2_get_head
        - lws_fx_add
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:345,6'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:366,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:367,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:371,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:379,5'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:406,5'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:417,2'
          Dst:             lws_display_render_dump_ids
    - functionName:    lws_display_dl_dump
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 330
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         36
      ICount:          322
      EdgeCount:       48
      CyclomaticComplexity: 14
      functionsReached:
        - _lws_log
        - lws_dll2_get_head
        - lws_fx_add
        - lws_fx_string
        - lws_snprintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:247,18'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:254,3'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:259,2'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:270,5'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:277,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:278,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:282,3'
          Dst:             lws_snprintf
        - Src:             'lib/misc/dlo/dlo.c:285,4'
          Dst:             lws_snprintf
        - Src:             'lib/misc/dlo/dlo.c:291,4'
          Dst:             lws_snprintf
        - Src:             'lib/misc/dlo/dlo.c:295,4'
          Dst:             lws_snprintf
        - Src:             'lib/misc/dlo/dlo.c:298,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:299,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:300,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:301,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:302,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:303,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:304,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:305,3'
          Dst:             lws_fx_string
        - Src:             'lib/misc/dlo/dlo.c:307,3'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:321,5'
          Dst:             _lws_log
    - functionName:    lws_display_dlo_adjust_dims
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          152
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - lws_fx_add
        - lws_fx_sub
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:200,2'
          Dst:             lws_fx_sub
        - Src:             'lib/misc/dlo/dlo.c:201,2'
          Dst:             lws_fx_sub
        - Src:             'lib/misc/dlo/dlo.c:224,5'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:237,3'
          Dst:             lws_fx_add
    - functionName:    lws_dlo_contents
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          190
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - lws_dll2_get_head
        - lws_fx_add
        - lws_fx_comp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:135,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:138,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:146,7'
          Dst:             lws_fx_comp
        - Src:             'lib/misc/dlo/dlo.c:149,3'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo.c:152,7'
          Dst:             lws_fx_comp
        - Src:             'lib/misc/dlo/dlo.c:161,7'
          Dst:             lws_fx_comp
        - Src:             'lib/misc/dlo/dlo.c:172,7'
          Dst:             lws_fx_comp
        - Src:             'lib/misc/dlo/dlo.c:174,4'
          Dst:             lws_fx_add
    - functionName:    lws_surface_set_px
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          212
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_display_dlo_add
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          81
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - lws_dll2_add_tail
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:48,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/misc/dlo/dlo.c:60,2'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_display_dl_init
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_owner_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:40,2'
          Dst:             lws_dll2_owner_clear
    - functionName:    lws_fonts_score
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 345
      functionLinenumberEnd: 397
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         39
      ICount:          308
      EdgeCount:       51
      CyclomaticComplexity: 14
      functionsReached:
        - lws_tokenize
        - strlen
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-text.c:355,12'
          Dst:             strlen
        - Src:             'lib/misc/dlo/dlo-text.c:359,19'
          Dst:             lws_tokenize
        - Src:             'lib/misc/dlo/dlo-text.c:361,10'
          Dst:             strncmp
        - Src:             'lib/misc/dlo/dlo-text.c:368,10'
          Dst:             strncmp
    - functionName:    lws_font_choose
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 402
      functionLinenumberEnd: 412
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_foreach_safe
        - lws_fonts_score
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-text.c:410,3'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/misc/dlo/dlo-text.c:410,3'
          Dst:             lws_fonts_score
    - functionName:    lws_font_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 326
      functionLinenumberEnd: 328
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-text.c:327,2'
          Dst:             lws_realloc
    - functionName:    lws_fonts_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 333
      functionLinenumberEnd: 335
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_foreach_safe
        - lws_font_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-text.c:334,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/misc/dlo/dlo-text.c:334,2'
          Dst:             lws_font_destroy
    - functionName:    castrstr
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          185
      EdgeCount:       37
      CyclomaticComplexity: 10
      functionsReached:
        - strlen
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-text.c:236,14'
          Dst:             strlen
        - Src:             'lib/misc/dlo/dlo-text.c:236,34'
          Dst:             strlen
    - functionName:    lws_font_register
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 261
      functionLinenumberEnd: 322
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          263
      EdgeCount:       50
      CyclomaticComplexity: 14
      functionsReached:
        - castrstr
        - lws_display_font_mcufont_getcwidth
        - lws_dll2_add_tail
        - lws_dll2_clear
        - lws_ser_ru16be
        - lws_ser_ru32be
        - lws_zalloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-text.c:264,6'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-text.c:267,6'
          Dst:             lws_zalloc
        - Src:             'lib/misc/dlo/dlo-text.c:272,5'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-text.c:274,6'
          Dst:             castrstr
        - Src:             'lib/misc/dlo/dlo-text.c:275,6'
          Dst:             castrstr
        - Src:             'lib/misc/dlo/dlo-text.c:280,6'
          Dst:             castrstr
        - Src:             'lib/misc/dlo/dlo-text.c:281,6'
          Dst:             castrstr
        - Src:             'lib/misc/dlo/dlo-text.c:284,6'
          Dst:             castrstr
        - Src:             'lib/misc/dlo/dlo-text.c:285,6'
          Dst:             castrstr
        - Src:             'lib/misc/dlo/dlo-text.c:288,7'
          Dst:             castrstr
        - Src:             'lib/misc/dlo/dlo-text.c:291,8'
          Dst:             castrstr
        - Src:             'lib/misc/dlo/dlo-text.c:292,8'
          Dst:             castrstr
        - Src:             'lib/misc/dlo/dlo-text.c:295,9'
          Dst:             castrstr
        - Src:             'lib/misc/dlo/dlo-text.c:300,27'
          Dst:             lws_ser_ru16be
        - Src:             'lib/misc/dlo/dlo-text.c:313,3'
          Dst:             lws_display_font_mcufont_getcwidth
        - Src:             'lib/misc/dlo/dlo-text.c:318,2'
          Dst:             lws_dll2_clear
        - Src:             'lib/misc/dlo/dlo-text.c:319,2'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_display_dlo_text_new
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 231
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          63
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_display_dlo_add
        - lws_zalloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-text.c:218,25'
          Dst:             lws_zalloc
        - Src:             'lib/misc/dlo/dlo-text.c:228,2'
          Dst:             lws_display_dlo_add
    - functionName:    lws_display_dlo_text_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - lws_realloc
        - lwsac_free
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-text.c:77,2'
          Dst:             lws_realloc
        - Src:             'lib/misc/dlo/dlo-text.c:78,2'
          Dst:             lws_realloc
        - Src:             'lib/misc/dlo/dlo-text.c:80,2'
          Dst:             lwsac_free
    - functionName:    lws_display_dlo_text_attach_glyphs
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          102
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
        - lws_fx_add
        - utf8_unicode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-text.c:198,8'
          Dst:             utf8_unicode
        - Src:             'lib/misc/dlo/dlo-text.c:202,4'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo-text.c:208,3'
          Dst:             lws_fx_add
    - functionName:    utf8_unicode
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          113
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - utf8_bytes
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-text.c:51,21'
          Dst:             utf8_bytes
    - functionName:    utf8_bytes
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          57
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_display_dlo_text_update
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-text.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 180
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          350
      EdgeCount:       63
      CyclomaticComplexity: 17
      functionsReached:
        - _lws_log
        - lws_display_font_mcufont_getcwidth
        - lws_dll2_owner_clear
        - lws_fx_add
        - lws_fx_comp
        - lws_realloc
        - lwsac_free
        - utf8_unicode
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-text.c:94,3'
          Dst:             lws_realloc
        - Src:             'lib/misc/dlo/dlo-text.c:97,3'
          Dst:             lws_realloc
        - Src:             'lib/misc/dlo/dlo-text.c:99,2'
          Dst:             lws_dll2_owner_clear
        - Src:             'lib/misc/dlo/dlo-text.c:100,2'
          Dst:             lwsac_free
        - Src:             'lib/misc/dlo/dlo-text.c:124,21'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-text.c:124,9'
          Dst:             lws_fx_comp
        - Src:             'lib/misc/dlo/dlo-text.c:128,8'
          Dst:             utf8_unicode
        - Src:             'lib/misc/dlo/dlo-text.c:140,9'
          Dst:             lws_display_font_mcufont_getcwidth
        - Src:             'lib/misc/dlo/dlo-text.c:141,5'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-text.c:150,4'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo-text.c:154,18'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-text.c:154,6'
          Dst:             lws_fx_comp
        - Src:             'lib/misc/dlo/dlo-text.c:163,3'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo-text.c:167,15'
          Dst:             lws_realloc
    - functionName:    lws_display_dlo_png_new
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-png.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          106
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - lws_display_dlo_add
        - lws_realloc
        - lws_strncpy
        - lws_upng_free
        - lws_upng_new
        - lws_zalloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-png.c:171,27'
          Dst:             lws_zalloc
        - Src:             'lib/misc/dlo/dlo-png.c:176,17'
          Dst:             lws_upng_new
        - Src:             'lib/misc/dlo/dlo-png.c:181,2'
          Dst:             lws_strncpy
        - Src:             'lib/misc/dlo/dlo-png.c:186,2'
          Dst:             lws_display_dlo_add
        - Src:             'lib/misc/dlo/dlo-png.c:192,3'
          Dst:             lws_upng_free
        - Src:             'lib/misc/dlo/dlo-png.c:193,2'
          Dst:             lws_realloc
    - functionName:    lws_display_render_png
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-png.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         53
      ICount:          463
      EdgeCount:       73
      CyclomaticComplexity: 22
      functionsReached:
        - _lws_log
        - lws_flow_feed
        - lws_flow_req
        - lws_fx_add
        - lws_fx_roundup
        - lws_surface_set_px
        - lws_upng_emit_next_line
        - lws_upng_get_height
        - lws_upng_get_pixelsize
        - lws_upng_get_width
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-png.c:56,7'
          Dst:             lws_upng_get_height
        - Src:             'lib/misc/dlo/dlo-png.c:60,3'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo-png.c:67,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-png.c:68,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-png.c:69,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-png.c:70,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-png.c:73,6'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-png.c:75,17'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-png.c:78,17'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-png.c:79,9'
          Dst:             lws_upng_get_height
        - Src:             'lib/misc/dlo/dlo-png.c:92,7'
          Dst:             lws_flow_feed
        - Src:             'lib/misc/dlo/dlo-png.c:97,7'
          Dst:             lws_upng_emit_next_line
        - Src:             'lib/misc/dlo/dlo-png.c:106,7'
          Dst:             lws_flow_req
        - Src:             'lib/misc/dlo/dlo-png.c:113,5'
          Dst:             lws_upng_get_pixelsize
        - Src:             'lib/misc/dlo/dlo-png.c:115,39'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-png.c:116,31'
          Dst:             lws_upng_get_width
        - Src:             'lib/misc/dlo/dlo-png.c:118,7'
          Dst:             lws_upng_get_pixelsize
        - Src:             'lib/misc/dlo/dlo-png.c:123,3'
          Dst:             lws_surface_set_px
        - Src:             'lib/misc/dlo/dlo-png.c:126,10'
          Dst:             lws_upng_get_pixelsize
    - functionName:    lws_display_dlo_png_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-png.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_buflist_destroy_all_segments
        - lws_ss_destroy
        - lws_upng_free
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-png.c:37,3'
          Dst:             lws_ss_destroy
        - Src:             'lib/misc/dlo/dlo-png.c:39,2'
          Dst:             lws_buflist_destroy_all_segments
        - Src:             'lib/misc/dlo/dlo-png.c:42,3'
          Dst:             lws_upng_free
    - functionName:    lws_display_dlo_png_metadata_scan
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-png.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          126
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log
        - lws_upng_emit_next_line
        - lws_upng_get_height
        - lws_upng_get_width
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-png.c:145,10'
          Dst:             lws_upng_get_height
        - Src:             'lib/misc/dlo/dlo-png.c:148,7'
          Dst:             lws_upng_emit_next_line
        - Src:             'lib/misc/dlo/dlo-png.c:150,4'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo-png.c:156,7'
          Dst:             lws_upng_get_height
        - Src:             'lib/misc/dlo/dlo-png.c:157,4'
          Dst:             lws_upng_get_width
        - Src:             'lib/misc/dlo/dlo-png.c:157,4'
          Dst:             lws_upng_get_height
        - Src:             'lib/misc/dlo/dlo-png.c:157,4'
          Dst:             _lws_log
    - functionName:    lws_display_dlo_jpeg_new
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          107
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log
        - lws_display_dlo_add
        - lws_jpeg_free
        - lws_jpeg_new
        - lws_realloc
        - lws_strncpy
        - lws_zalloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-jpeg.c:176,29'
          Dst:             lws_zalloc
        - Src:             'lib/misc/dlo/dlo-jpeg.c:181,16'
          Dst:             lws_jpeg_new
        - Src:             'lib/misc/dlo/dlo-jpeg.c:185,2'
          Dst:             lws_strncpy
        - Src:             'lib/misc/dlo/dlo-jpeg.c:190,2'
          Dst:             lws_display_dlo_add
        - Src:             'lib/misc/dlo/dlo-jpeg.c:195,2'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo-jpeg.c:197,3'
          Dst:             lws_jpeg_free
        - Src:             'lib/misc/dlo/dlo-jpeg.c:199,2'
          Dst:             lws_realloc
    - functionName:    lws_display_render_jpeg
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         53
      ICount:          448
      EdgeCount:       73
      CyclomaticComplexity: 22
      functionsReached:
        - _lws_log
        - lws_flow_feed
        - lws_flow_req
        - lws_fx_add
        - lws_fx_roundup
        - lws_jpeg_emit_next_line
        - lws_jpeg_get_height
        - lws_jpeg_get_pixelsize
        - lws_jpeg_get_width
        - lws_surface_set_px
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-jpeg.c:55,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-jpeg.c:56,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-jpeg.c:57,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-jpeg.c:58,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-jpeg.c:60,7'
          Dst:             lws_jpeg_get_height
        - Src:             'lib/misc/dlo/dlo-jpeg.c:64,3'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo-jpeg.c:72,6'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-jpeg.c:74,17'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-jpeg.c:77,17'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-jpeg.c:78,9'
          Dst:             lws_jpeg_get_height
        - Src:             'lib/misc/dlo/dlo-jpeg.c:91,7'
          Dst:             lws_flow_feed
        - Src:             'lib/misc/dlo/dlo-jpeg.c:96,7'
          Dst:             lws_jpeg_emit_next_line
        - Src:             'lib/misc/dlo/dlo-jpeg.c:105,7'
          Dst:             lws_flow_req
        - Src:             'lib/misc/dlo/dlo-jpeg.c:118,5'
          Dst:             lws_jpeg_get_pixelsize
        - Src:             'lib/misc/dlo/dlo-jpeg.c:120,39'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-jpeg.c:121,31'
          Dst:             lws_jpeg_get_width
        - Src:             'lib/misc/dlo/dlo-jpeg.c:123,7'
          Dst:             lws_jpeg_get_pixelsize
        - Src:             'lib/misc/dlo/dlo-jpeg.c:128,3'
          Dst:             lws_surface_set_px
        - Src:             'lib/misc/dlo/dlo-jpeg.c:130,10'
          Dst:             lws_jpeg_get_pixelsize
    - functionName:    lws_display_dlo_jpeg_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_buflist_destroy_all_segments
        - lws_jpeg_free
        - lws_ss_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-jpeg.c:36,2'
          Dst:             lws_ss_destroy
        - Src:             'lib/misc/dlo/dlo-jpeg.c:38,2'
          Dst:             lws_buflist_destroy_all_segments
        - Src:             'lib/misc/dlo/dlo-jpeg.c:41,3'
          Dst:             lws_jpeg_free
    - functionName:    lws_display_dlo_jpeg_metadata_scan
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 170
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          123
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log
        - lws_jpeg_emit_next_line
        - lws_jpeg_get_height
        - lws_jpeg_get_width
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-jpeg.c:149,10'
          Dst:             lws_jpeg_get_height
        - Src:             'lib/misc/dlo/dlo-jpeg.c:152,7'
          Dst:             lws_jpeg_emit_next_line
        - Src:             'lib/misc/dlo/dlo-jpeg.c:154,4'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo-jpeg.c:160,7'
          Dst:             lws_jpeg_get_height
        - Src:             'lib/misc/dlo/dlo-jpeg.c:161,4'
          Dst:             lws_jpeg_get_width
        - Src:             'lib/misc/dlo/dlo-jpeg.c:161,4'
          Dst:             lws_jpeg_get_height
        - Src:             'lib/misc/dlo/dlo-jpeg.c:161,4'
          Dst:             _lws_log
    - functionName:    lws_dir_notify_destroy
      functionSourceFile: '/src/libwebsockets/lib/misc/dir-notify/dir-notify.c'
      linkageType:     InternalLinkage
      functionLinenumber: 168
      functionLinenumberEnd: 180
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          61
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - close
        - lws_realloc
        - lws_set_timeout
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dir-notify/dir-notify.c:174,3'
          Dst:             lws_set_timeout
        - Src:             'lib/misc/dir-notify/dir-notify.c:176,3'
          Dst:             close
        - Src:             'lib/misc/dir-notify/dir-notify.c:178,2'
          Dst:             lws_realloc
    - functionName:    lws_dir_notify_create
      functionSourceFile: '/src/libwebsockets/lib/misc/dir-notify/dir-notify.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          145
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - close
        - inotify_add_watch
        - inotify_init1
        - lws_adopt_descriptor_vhost
        - lws_get_vhost_by_name
        - lws_realloc
        - lws_set_opaque_user_data
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dir-notify/dir-notify.c:121,25'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/misc/dir-notify/dir-notify.c:131,7'
          Dst:             lws_realloc
        - Src:             'lib/misc/dir-notify/dir-notify.c:139,11'
          Dst:             inotify_init1
        - Src:             'lib/misc/dir-notify/dir-notify.c:143,7'
          Dst:             inotify_add_watch
        - Src:             'lib/misc/dir-notify/dir-notify.c:145,3'
          Dst:             close
        - Src:             'lib/misc/dir-notify/dir-notify.c:150,12'
          Dst:             lws_adopt_descriptor_vhost
        - Src:             'lib/misc/dir-notify/dir-notify.c:153,3'
          Dst:             close
        - Src:             'lib/misc/dir-notify/dir-notify.c:157,2'
          Dst:             lws_set_opaque_user_data
        - Src:             'lib/misc/dir-notify/dir-notify.c:162,2'
          Dst:             lws_realloc
    - functionName:    inotify_init1
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    inotify_add_watch
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dir_notify_rx
      functionSourceFile: '/src/libwebsockets/lib/misc/dir-notify/dir-notify.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          159
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - close
        - lws_get_opaque_user_data
        - read
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dir-notify/dir-notify.c:78,55'
          Dst:             lws_get_opaque_user_data
        - Src:             'lib/misc/dir-notify/dir-notify.c:84,7'
          Dst:             read
        - Src:             'lib/misc/dir-notify/dir-notify.c:100,5'
          Dst:             close
    - functionName:    _lwsac_assert_valid
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 363
      functionLinenumberEnd: 390
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          111
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - _lws_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:383,3'
          Dst:             _lws_log
        - Src:             'lib/misc/lwsac/lwsac.c:389,2'
          Dst:             _lws_log
        - Src:             'lib/misc/lwsac/lwsac.c:390,2'
          Dst:             __assert_fail
    - functionName:    lwsac_detach
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 343
      functionLinenumberEnd: 358
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          54
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lwsac_free
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:353,3'
          Dst:             _lws_log
        - Src:             'lib/misc/lwsac/lwsac.c:354,3'
          Dst:             lwsac_free
        - Src:             'lib/misc/lwsac/lwsac.c:356,3'
          Dst:             _lws_log
    - functionName:    lwsac_free
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 263
      functionLinenumberEnd: 275
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsac_unreference
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 319
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          86
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log
        - lwsac_free
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:328,3'
          Dst:             _lws_log
        - Src:             'lib/misc/lwsac/lwsac.c:332,2'
          Dst:             _lws_log
        - Src:             'lib/misc/lwsac/lwsac.c:336,3'
          Dst:             _lws_log
        - Src:             'lib/misc/lwsac/lwsac.c:337,3'
          Dst:             lwsac_free
    - functionName:    lwsac_reference
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 309
      functionLinenumberEnd: 315
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:313,2'
          Dst:             _lws_log
    - functionName:    lwsac_total_alloc
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 297
      functionLinenumberEnd: 305
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          28
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsac_info
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 279
      functionLinenumberEnd: 293
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:284,3'
          Dst:             _lws_log
        - Src:             'lib/misc/lwsac/lwsac.c:290,2'
          Dst:             _lws_log
    - functionName:    lwsac_use_zero
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 258
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lwsac_use
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:253,12'
          Dst:             lwsac_use
    - functionName:    lwsac_use
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lwsac_use
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:204,9'
          Dst:             _lwsac_use
    - functionName:    _lwsac_use
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          321
      EdgeCount:       61
      CyclomaticComplexity: 17
      functionsReached:
        - _lws_log
        - lwsac_align
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:105,7'
          Dst:             lwsac_align
        - Src:             'lib/misc/lwsac/lwsac.c:152,3'
          Dst:             _lws_log
    - functionName:    lwsac_align
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          33
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsac_total_overhead
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 238
      functionLinenumberEnd: 247
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          35
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsac_scan_extant
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 234
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          146
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:224,10'
          Dst:             memcmp
    - functionName:    memcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsac_use_backfill
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 209
      functionLinenumberEnd: 210
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lwsac_use
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:210,9'
          Dst:             _lwsac_use
    - functionName:    lwsac_extend
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 93
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          81
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - lwsac_align
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:78,2'
          Dst:             __assert_fail
        - Src:             'lib/misc/lwsac/lwsac.c:82,2'
          Dst:             __assert_fail
        - Src:             'lib/misc/lwsac/lwsac.c:84,33'
          Dst:             lwsac_align
        - Src:             'lib/misc/lwsac/lwsac.c:89,39'
          Dst:             lwsac_align
        - Src:             'lib/misc/lwsac/lwsac.c:90,13'
          Dst:             lwsac_align
    - functionName:    lwsac_get_next
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsac_get_tail_pos
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsac_sizeof
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_list_ptr_insert
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 41
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          65
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_system_adopt_stdin
      functionSourceFile: '/src/libwebsockets/lib/system/stdin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          81
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log
        - lws_adopt_descriptor_vhost
        - lws_get_vhost_by_name
        - lws_state_transition_steps
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/stdin.c:160,3'
          Dst:             lws_state_transition_steps
        - Src:             'lib/system/stdin.c:163,7'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/system/stdin.c:165,3'
          Dst:             _lws_log
        - Src:             'lib/system/stdin.c:169,7'
          Dst:             lws_adopt_descriptor_vhost
        - Src:             'lib/system/stdin.c:170,3'
          Dst:             _lws_log
    - functionName:    callback_system_stdin
      functionSourceFile: '/src/libwebsockets/lib/system/stdin.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         68
      ICount:          431
      EdgeCount:       90
      CyclomaticComplexity: 24
      functionsReached:
        - _lws_log
        - lws_buflist_append_segment
        - lws_buflist_destroy_all_segments
        - lws_buflist_linear_use
        - lws_buflist_total_len
        - lws_get_socket_fd
        - lws_realloc
        - lws_state_transition_steps
        - read
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/system/stdin.c:36,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/system/stdin.c:53,5'
          Dst:             _lws_log
        - Src:             'lib/system/stdin.c:64,28'
          Dst:             lws_buflist_total_len
        - Src:             'lib/system/stdin.c:65,23'
          Dst:             lws_realloc
        - Src:             'lib/system/stdin.c:67,5'
          Dst:             lws_buflist_destroy_all_segments
        - Src:             'lib/system/stdin.c:70,4'
          Dst:             lws_buflist_linear_use
        - Src:             'lib/system/stdin.c:92,7'
          Dst:             _lws_log
        - Src:             'lib/system/stdin.c:110,3'
          Dst:             lws_state_transition_steps
        - Src:             'lib/system/stdin.c:120,13'
          Dst:             lws_get_socket_fd
        - Src:             'lib/system/stdin.c:123,7'
          Dst:             read
        - Src:             'lib/system/stdin.c:133,12'
          Dst:             lws_buflist_append_segment
    - functionName:    lws_extip_get_best
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 351
      functionLinenumberEnd: 373
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          108
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_extip_report
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 269
      functionLinenumberEnd: 347
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         57
      ICount:          376
      EdgeCount:       76
      CyclomaticComplexity: 21
      functionsReached:
        - _lws_log
        - lws_sa46_write_numeric_address
        - lws_smd_msg_printf
        - lws_snprintf
        - memcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/system.c:283,3'
          Dst:             _lws_log
        - Src:             'lib/system/system.c:287,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/system/system.c:288,3'
          Dst:             _lws_log
        - Src:             'lib/system/system.c:297,7'
          Dst:             memcmp
        - Src:             'lib/system/system.c:305,7'
          Dst:             memcmp
        - Src:             'lib/system/system.c:318,8'
          Dst:             lws_snprintf
        - Src:             'lib/system/system.c:321,4'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/system/system.c:322,9'
          Dst:             lws_snprintf
        - Src:             'lib/system/system.c:331,4'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/system/system.c:333,10'
          Dst:             lws_snprintf
        - Src:             'lib/system/system.c:334,9'
          Dst:             lws_snprintf
        - Src:             'lib/system/system.c:338,8'
          Dst:             lws_snprintf
        - Src:             'lib/system/system.c:341,3'
          Dst:             _lws_log
        - Src:             'lib/system/system.c:342,3'
          Dst:             lws_smd_msg_printf
        - Src:             'lib/system/system.c:345,3'
          Dst:             _lws_log
    - functionName:    lws_system_do_attach
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 263
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          115
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/system.c:229,3'
          Dst:             __assert_fail
        - Src:             'lib/system/system.c:231,4'
          Dst:             _lws_log
        - Src:             'lib/system/system.c:243,4'
          Dst:             _lws_log
        - Src:             'lib/system/system.c:259,3'
          Dst:             lws_realloc
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __lws_system_attach
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 211
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          132
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - lws_cancel_service
        - lws_dll2_add_head
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_zalloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/system.c:166,10'
          Dst:             lws_zalloc
        - Src:             'lib/system/system.c:174,3'
          Dst:             lws_dll2_add_head
        - Src:             'lib/system/system.c:176,3'
          Dst:             lws_cancel_service
        - Src:             'lib/system/system.c:190,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/system/system.c:196,4'
          Dst:             lws_dll2_remove
    - functionName:    lws_system_get_blob
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          42
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_system_blob_destroy
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          37
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - lws_buflist_destroy_all_segments
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/system.c:133,3'
          Dst:             lws_buflist_destroy_all_segments
    - functionName:    lws_system_blob_get_single_ptr
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          61
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_system_blob_get
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          120
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - lws_buflist_linear_copy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/system.c:83,3'
          Dst:             __assert_fail
        - Src:             'lib/system/system.c:98,6'
          Dst:             lws_buflist_linear_copy
    - functionName:    lws_system_blob_get_size
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_buflist_total_len
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/system.c:73,9'
          Dst:             lws_buflist_total_len
    - functionName:    lws_system_blob_heap_append
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          51
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_buflist_append_segment
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/system.c:57,2'
          Dst:             __assert_fail
        - Src:             'lib/system/system.c:59,2'
          Dst:             _lws_log
        - Src:             'lib/system/system.c:61,6'
          Dst:             lws_buflist_append_segment
    - functionName:    lws_system_blob_heap_empty
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_buflist_destroy_all_segments
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/system.c:51,2'
          Dst:             lws_buflist_destroy_all_segments
    - functionName:    lws_system_blob_direct_set
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          23
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_system_get_ops
      functionSourceFile: '/src/libwebsockets/lib/system/system.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _lws_smd_destroy
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 808
      functionLinenumberEnd: 842
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          112
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_smd_peer_destroy
        - lws_dll2_remove
        - lws_realloc
        - pthread_mutex_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:821,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/system/smd/smd.c:822,3'
          Dst:             lws_realloc
        - Src:             'lib/system/smd/smd.c:835,3'
          Dst:             _lws_smd_peer_destroy
        - Src:             'lib/system/smd/smd.c:839,2'
          Dst:             pthread_mutex_destroy
        - Src:             'lib/system/smd/smd.c:840,2'
          Dst:             pthread_mutex_destroy
    - functionName:    _lws_smd_peer_destroy
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 477
      functionLinenumberEnd: 507
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          101
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_smd_msg_destroy
        - _lws_smd_msg_peer_interested_in_msg
        - lws_dll2_remove
        - lws_realloc
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:481,6'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:484,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/system/smd/smd.c:496,7'
          Dst:             _lws_smd_msg_peer_interested_in_msg
        - Src:             'lib/system/smd/smd.c:498,5'
          Dst:             _lws_smd_msg_destroy
        - Src:             'lib/system/smd/smd.c:504,2'
          Dst:             lws_realloc
        - Src:             'lib/system/smd/smd.c:506,2'
          Dst:             pthread_mutex_unlock
    - functionName:    pthread_mutex_destroy
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_mutex_lock
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _lws_smd_msg_peer_interested_in_msg
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _lws_smd_msg_destroy
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 197
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          83
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_dll2_remove
        - lws_log_prepend_context
        - lws_realloc
        - lwsl_context_get_cx
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:181,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/system/smd/smd.c:181,4'
          Dst:             _lws_log_cx
        - Src:             'lib/system/smd/smd.c:181,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/system/smd/smd.c:184,4'
          Dst:             __assert_fail
        - Src:             'lib/system/smd/smd.c:194,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/system/smd/smd.c:194,2'
          Dst:             _lws_log_cx
        - Src:             'lib/system/smd/smd.c:194,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/system/smd/smd.c:195,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/system/smd/smd.c:196,2'
          Dst:             lws_realloc
    - functionName:    pthread_mutex_unlock
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _lws_smd_msg_next_matching_filter
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 511
      functionLinenumberEnd: 527
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          75
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_smd_msg_peer_interested_in_msg
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:522,7'
          Dst:             _lws_smd_msg_peer_interested_in_msg
    - functionName:    lws_smd_message_pending
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 720
      functionLinenumberEnd: 804
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         46
      ICount:          271
      EdgeCount:       60
      CyclomaticComplexity: 16
      functionsReached:
        - _lws_log_cx
        - _lws_smd_msg_destroy
        - _lws_smd_msg_next_matching_filter
        - lws_log_prepend_context
        - lws_now_usecs
        - lwsl_context_get_cx
        - pthread_equal
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - pthread_self
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:736,31'
          Dst:             pthread_self
        - Src:             'lib/system/smd/smd.c:736,31'
          Dst:             pthread_equal
        - Src:             'lib/system/smd/smd.c:737,7'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:741,6'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:748,8'
          Dst:             lws_now_usecs
        - Src:             'lib/system/smd/smd.c:749,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/system/smd/smd.c:749,4'
          Dst:             _lws_log_cx
        - Src:             'lib/system/smd/smd.c:749,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/system/smd/smd.c:766,17'
          Dst:             _lws_smd_msg_next_matching_filter
        - Src:             'lib/system/smd/smd.c:775,4'
          Dst:             _lws_smd_msg_destroy
        - Src:             'lib/system/smd/smd.c:779,2'
          Dst:             pthread_mutex_unlock
        - Src:             'lib/system/smd/smd.c:801,3'
          Dst:             pthread_mutex_unlock
    - functionName:    pthread_self
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_equal
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_smd_unregister
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 702
      functionLinenumberEnd: 716
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          89
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log_cx
        - _lws_smd_peer_destroy
        - lws_log_prepend_context
        - lwsl_context_get_cx
        - pthread_equal
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - pthread_self
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:706,27'
          Dst:             pthread_self
        - Src:             'lib/system/smd/smd.c:706,27'
          Dst:             pthread_equal
        - Src:             'lib/system/smd/smd.c:707,7'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:711,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/system/smd/smd.c:711,2'
          Dst:             _lws_log_cx
        - Src:             'lib/system/smd/smd.c:711,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/system/smd/smd.c:712,2'
          Dst:             _lws_smd_peer_destroy
        - Src:             'lib/system/smd/smd.c:715,3'
          Dst:             pthread_mutex_unlock
    - functionName:    _lws_smd_class_mask_union
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 163
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          57
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_smd_register
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 635
      functionLinenumberEnd: 698
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          215
      EdgeCount:       39
      CyclomaticComplexity: 11
      functionsReached:
        - _lws_log_cx
        - _lws_smd_class_mask_union
        - _lws_smd_msg_peer_interested_in_msg
        - lws_dll2_add_tail
        - lws_log_prepend_context
        - lws_realloc
        - lws_zalloc
        - lwsl_context_get_cx
        - pthread_equal
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - pthread_self
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:636,23'
          Dst:             lws_zalloc
        - Src:             'lib/system/smd/smd.c:647,31'
          Dst:             pthread_self
        - Src:             'lib/system/smd/smd.c:647,31'
          Dst:             pthread_equal
        - Src:             'lib/system/smd/smd.c:648,7'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:649,4'
          Dst:             lws_realloc
        - Src:             'lib/system/smd/smd.c:659,6'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:660,3'
          Dst:             lws_realloc
        - Src:             'lib/system/smd/smd.c:665,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/system/smd/smd.c:668,2'
          Dst:             _lws_smd_class_mask_union
        - Src:             'lib/system/smd/smd.c:681,7'
          Dst:             _lws_smd_msg_peer_interested_in_msg
        - Src:             'lib/system/smd/smd.c:688,2'
          Dst:             pthread_mutex_unlock
        - Src:             'lib/system/smd/smd.c:690,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/system/smd/smd.c:690,2'
          Dst:             _lws_log_cx
        - Src:             'lib/system/smd/smd.c:690,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/system/smd/smd.c:695,3'
          Dst:             pthread_mutex_unlock
    - functionName:    _lws_smd_msg_deliver_peer
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 545
      functionLinenumberEnd: 594
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          174
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - _lws_smd_msg_destroy
        - _lws_smd_msg_next_matching_filter
        - lws_log_prepend_context
        - lwsl_context_get_cx
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - pthread_self
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:553,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/system/smd/smd.c:553,2'
          Dst:             _lws_log_cx
        - Src:             'lib/system/smd/smd.c:553,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/system/smd/smd.c:568,25'
          Dst:             pthread_self
        - Src:             'lib/system/smd/smd.c:575,2'
          Dst:             __assert_fail
        - Src:             'lib/system/smd/smd.c:581,13'
          Dst:             _lws_smd_msg_next_matching_filter
        - Src:             'lib/system/smd/smd.c:584,2'
          Dst:             __assert_fail
        - Src:             'lib/system/smd/smd.c:586,6'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:590,3'
          Dst:             _lws_smd_msg_destroy
        - Src:             'lib/system/smd/smd.c:591,2'
          Dst:             pthread_mutex_unlock
    - functionName:    lws_smd_msg_distribute
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 603
      functionLinenumberEnd: 630
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          110
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_smd_msg_deliver_peer
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:614,7'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:621,27'
          Dst:             _lws_smd_msg_deliver_peer
        - Src:             'lib/system/smd/smd.c:625,3'
          Dst:             pthread_mutex_unlock
    - functionName:    _lws_smd_ss_rx_forward
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 389
      functionLinenumberEnd: 444
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          127
      EdgeCount:       19
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log
        - _lws_smd_msg_send
        - lws_ser_ru64be
        - lws_smd_msg_alloc
        - lws_smd_msg_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:400,28'
          Dst:             lws_ser_ru64be
        - Src:             'lib/system/smd/smd.c:415,6'
          Dst:             lws_smd_msg_alloc
        - Src:             'lib/system/smd/smd.c:423,31'
          Dst:             lws_ser_ru64be
        - Src:             'lib/system/smd/smd.c:432,6'
          Dst:             _lws_smd_msg_send
        - Src:             'lib/system/smd/smd.c:434,3'
          Dst:             lws_smd_msg_free
        - Src:             'lib/system/smd/smd.c:439,2'
          Dst:             _lws_log
    - functionName:    lws_smd_msg_alloc
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          84
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_log_prepend_context
        - lws_now_usecs
        - lws_realloc
        - lwsl_context_get_cx
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:46,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/system/smd/smd.c:46,3'
          Dst:             _lws_log_cx
        - Src:             'lib/system/smd/smd.c:46,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/system/smd/smd.c:51,2'
          Dst:             __assert_fail
        - Src:             'lib/system/smd/smd.c:58,8'
          Dst:             lws_realloc
        - Src:             'lib/system/smd/smd.c:64,19'
          Dst:             lws_now_usecs
    - functionName:    _lws_smd_msg_send
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 205
      functionLinenumberEnd: 285
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          266
      EdgeCount:       55
      CyclomaticComplexity: 15
      functionsReached:
        - __assert_fail
        - _lws_smd_msg_assess_peers_interested
        - _lws_smd_msg_peer_interested_in_msg
        - lws_cancel_service
        - lws_dll2_add_tail
        - lws_realloc
        - pthread_equal
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - pthread_self
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:224,31'
          Dst:             pthread_self
        - Src:             'lib/system/smd/smd.c:224,31'
          Dst:             pthread_equal
        - Src:             'lib/system/smd/smd.c:225,7'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:230,6'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:233,28'
          Dst:             _lws_smd_msg_assess_peers_interested
        - Src:             'lib/system/smd/smd.c:237,3'
          Dst:             pthread_mutex_unlock
        - Src:             'lib/system/smd/smd.c:239,3'
          Dst:             lws_realloc
        - Src:             'lib/system/smd/smd.c:241,4'
          Dst:             pthread_mutex_unlock
        - Src:             'lib/system/smd/smd.c:250,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/system/smd/smd.c:261,33'
          Dst:             _lws_smd_msg_peer_interested_in_msg
        - Src:             'lib/system/smd/smd.c:264,4'
          Dst:             __assert_fail
        - Src:             'lib/system/smd/smd.c:275,2'
          Dst:             pthread_mutex_unlock
        - Src:             'lib/system/smd/smd.c:279,3'
          Dst:             pthread_mutex_unlock
        - Src:             'lib/system/smd/smd.c:282,2'
          Dst:             lws_cancel_service
    - functionName:    lws_smd_msg_free
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:78,2'
          Dst:             lws_realloc
    - functionName:    _lws_smd_msg_assess_peers_interested
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          76
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_smd_msg_peer_interested_in_msg
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:137,20'
          Dst:             _lws_smd_msg_peer_interested_in_msg
    - functionName:    lws_smd_ss_rx_forward
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 448
      functionLinenumberEnd: 453
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          35
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_smd_ss_rx_forward
        - lws_ss_get_context
        - lws_ss_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:451,28'
          Dst:             lws_ss_get_context
        - Src:             'lib/system/smd/smd.c:453,37'
          Dst:             lws_ss_tag
        - Src:             'lib/system/smd/smd.c:453,9'
          Dst:             _lws_smd_ss_rx_forward
    - functionName:    lws_smd_ss_msg_printf
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 350
      functionLinenumberEnd: 376
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          94
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
        - lws_ser_wu64be
        - vsnprintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:358,2'
          Dst:             lws_ser_wu64be
        - Src:             'lib/system/smd/smd.c:359,2'
          Dst:             lws_ser_wu64be
        - Src:             'lib/system/smd/smd.c:362,6'
          Dst:             vsnprintf
        - Src:             'lib/system/smd/smd.c:372,2'
          Dst:             _lws_log
    - functionName:    lws_smd_msg_printf
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 344
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          106
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached:
        - lws_smd_msg_alloc
        - lws_smd_msg_free
        - lws_smd_msg_send
        - vsnprintf
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:318,6'
          Dst:             vsnprintf
        - Src:             'lib/system/smd/smd.c:324,6'
          Dst:             lws_smd_msg_alloc
        - Src:             'lib/system/smd/smd.c:331,2'
          Dst:             vsnprintf
        - Src:             'lib/system/smd/smd.c:338,6'
          Dst:             lws_smd_msg_send
        - Src:             'lib/system/smd/smd.c:339,3'
          Dst:             lws_smd_msg_free
    - functionName:    lws_smd_msg_send
      functionSourceFile: '/src/libwebsockets/lib/system/smd/smd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 293
      functionLinenumberEnd: 294
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_smd_msg_send
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:294,9'
          Dst:             _lws_smd_msg_send
    - functionName:    lws_close_free_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1181
      functionLinenumberEnd: 1193
      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:    36
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/close.c:1189,2'
          Dst:             __lws_close_free_wsi
    - functionName:    __lws_close_free_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 445
      functionLinenumberEnd: 1011
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         294
      ICount:          1937
      EdgeCount:       399
      CyclomaticComplexity: 107
      functionsReached:
        - __errno_location
        - __lws_change_pollfd
        - __lws_close_free_wsi
        - __lws_close_free_wsi_final
        - __lws_set_timeout
        - __lws_ssl_remove_wsi_from_buffered_list
        - __lws_tls_shutdown
        - __lws_wsi_remove_from_sul
        - __remove_wsi_socket_from_fds
        - _lws_log
        - _lws_log_cx
        - delete_from_fd
        - delete_from_fdwsi
        - lws_addrinfo_clean
        - lws_buflist_destroy_all_segments
        - lws_callback_on_writable
        - lws_dll2_is_detached
        - lws_dll2_remove
        - lws_has_buffered_out
        - lws_http_close_immortal
        - lws_inform_client_conn_fail
        - lws_is_ssl
        - lws_log_prepend_wsi
        - lws_realloc
        - lws_remove_child_from_any_parent
        - lws_remove_parallel_fd_safely
        - 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:614,2'
          Branch Sides:    []
        - Branch String:   'lib/core-net/close.c:788,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/close.c:458,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:458,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:458,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:462,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/close.c:463,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:463,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:463,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:470,4'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/close.c:472,5'
          Dst:             delete_from_fd
        - Src:             'lib/core-net/close.c:474,4'
          Dst:             delete_from_fdwsi
        - Src:             'lib/core-net/close.c:518,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:521,2'
          Dst:             lws_addrinfo_clean
        - Src:             'lib/core-net/close.c:526,3'
          Dst:             lws_http_close_immortal
        - Src:             'lib/core-net/close.c:537,4'
          Dst:             __lws_close_free_wsi
        - Src:             'lib/core-net/close.c:546,3'
          Dst:             lws_remove_child_from_any_parent
        - Src:             'lib/core-net/close.c:547,3'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/close.c:589,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:603,3'
          Dst:             lws_vfs_file_close
        - Src:             'lib/core-net/close.c:625,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/close.c:631,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/close.c:634,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:634,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:634,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:637,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/close.c:643,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:643,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:643,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:644,4'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/close.c:645,4'
          Dst:             __lws_set_timeout
        - Src:             'lib/core-net/close.c:681,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:681,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:681,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:688,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:688,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:688,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:699,3'
          Dst:             lws_vfs_file_close
        - Src:             'lib/core-net/close.c:702,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/close.c:707,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/close.c:713,4'
          Dst:             lws_remove_parallel_fd_safely
        - Src:             'lib/core-net/close.c:736,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/close.c:736,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/close.c:763,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:763,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:763,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:767,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/close.c:786,7'
          Dst:             lws_is_ssl
        - Src:             'lib/core-net/close.c:788,12'
          Dst:             __lws_tls_shutdown
        - Src:             'lib/core-net/close.c:794,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:794,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:794,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:795,6'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/close.c:802,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/close.c:802,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/close.c:808,9'
          Dst:             shutdown
        - Src:             'lib/core-net/close.c:812,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:812,4'
          Dst:             __errno_location
        - Src:             'lib/core-net/close.c:812,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:812,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:828,4'
          Dst:             __lws_change_pollfd
        - Src:             'lib/core-net/close.c:829,4'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/close.c:830,4'
          Dst:             __lws_set_timeout
        - Src:             'lib/core-net/close.c:838,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:838,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:838,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:850,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:857,2'
          Dst:             __lws_ssl_remove_wsi_from_buffered_list
        - Src:             'lib/core-net/close.c:858,2'
          Dst:             __lws_wsi_remove_from_sul
        - Src:             'lib/core-net/close.c:864,2'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/close.c:866,2'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/close.c:867,2'
          Dst:             lws_buflist_destroy_all_segments
        - Src:             'lib/core-net/close.c:868,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:895,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/close.c:903,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:903,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:903,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:918,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/close.c:943,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:943,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:943,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:997,2'
          Dst:             lws_remove_child_from_any_parent
        - Src:             'lib/core-net/close.c:1004,2'
          Dst:             __lws_close_free_wsi_final
        - Src:             'lib/core-net/close.c:1008,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/core-net/close.c:1009,3'
          Dst:             lws_ss_destroy
    - functionName:    lws_addrinfo_clean
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 392
      functionLinenumberEnd: 406
      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:394,23'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/close.c:400,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:401,3'
          Dst:             lws_realloc
    - functionName:    lws_remove_child_from_any_parent
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 299
      functionLinenumberEnd: 328
      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:310,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:310,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/close.c:310,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:310,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:325,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:325,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:325,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: 333
      functionLinenumberEnd: 387
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          111
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - lws_addrinfo_clean
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/close.c:376,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: 1018
      functionLinenumberEnd: 1176
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         50
      ICount:          416
      EdgeCount:       66
      CyclomaticComplexity: 18
      functionsReached:
        - __errno_location
        - __lws_free_wsi
        - __lws_wsi_remove_from_sul
        - __remove_wsi_socket_from_fds
        - _lws_log_cx
        - close
        - delete_from_fd
        - delete_from_fdwsi
        - lws_bind_protocol
        - lws_header_table_attach
        - lws_log_prepend_wsi
        - lws_plat_pipe_close
        - 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:1026,17'
          Dst:             lws_ssl_close
        - Src:             'lib/core-net/close.c:1030,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:1030,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:1030,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:1032,3'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/close.c:1034,4'
          Dst:             delete_from_fd
        - Src:             'lib/core-net/close.c:1041,8'
          Dst:             lws_plat_pipe_is_fd_assocated
        - Src:             'lib/core-net/close.c:1043,8'
          Dst:             close
        - Src:             'lib/core-net/close.c:1045,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:1045,5'
          Dst:             __errno_location
        - Src:             'lib/core-net/close.c:1045,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:1045,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:1050,3'
          Dst:             delete_from_fdwsi
        - Src:             'lib/core-net/close.c:1053,3'
          Dst:             sanity_assert_no_sockfd_traces
        - Src:             'lib/core-net/close.c:1062,4'
          Dst:             lws_plat_pipe_close
        - Src:             'lib/core-net/close.c:1076,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:1081,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:1081,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:1081,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:1084,3'
          Dst:             lws_role_transition
        - Src:             'lib/core-net/close.c:1104,4'
          Dst:             lws_wsi_mux_sibling_disconnect
        - Src:             'lib/core-net/close.c:1113,4'
          Dst:             lws_bind_protocol
        - Src:             'lib/core-net/close.c:1119,4'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/close.c:1123,7'
          Dst:             lws_header_table_attach
        - Src:             'lib/core-net/close.c:1124,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:1124,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:1124,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:1173,2'
          Dst:             __lws_wsi_remove_from_sul
        - Src:             'lib/core-net/close.c:1174,2'
          Dst:             sanity_assert_no_wsi_traces
        - Src:             'lib/core-net/close.c:1175,2'
          Dst:             __lws_free_wsi
    - functionName:    __lws_free_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 228
      functionLinenumberEnd: 294
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          173
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - __lws_lc_untag
        - __lws_reset_wsi
        - __lws_vhost_unbind_wsi
        - __lws_wsi_remove_from_sul
        - _lws_log_cx
        - lws_dll2_remove
        - lws_log_prepend_wsi
        - lws_realloc
        - lwsl_wsi_get_cx
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/close.c:237,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:269,2'
          Dst:             __lws_reset_wsi
        - Src:             'lib/core-net/close.c:270,2'
          Dst:             __lws_wsi_remove_from_sul
        - Src:             'lib/core-net/close.c:274,3'
          Dst:             __lws_vhost_unbind_wsi
        - Src:             'lib/core-net/close.c:278,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:284,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:284,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:284,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:292,2'
          Dst:             __lws_lc_untag
        - Src:             'lib/core-net/close.c:293,2'
          Dst:             lws_realloc
    - functionName:    __lws_reset_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 222
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         54
      ICount:          556
      EdgeCount:       69
      CyclomaticComplexity: 17
      functionsReached:
        - __lws_header_table_detach
        - __lws_same_vh_protocol_remove
        - __lws_ssl_remove_wsi_from_buffered_list
        - __lws_wsi_remove_from_sul
        - lws_buflist_destroy_all_segments
        - lws_close_trans_q_leader
        - lws_conmon_addrinfo_destroy
        - lws_dll2_foreach_safe
        - lws_dll2_remove
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/close.c:48,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:53,3'
          Dst:             lws_conmon_addrinfo_destroy
        - Src:             'lib/core-net/close.c:70,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:72,3'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/core-net/close.c:72,3'
          Dst:             lws_close_trans_q_leader
        - Src:             'lib/core-net/close.c:84,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:90,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:103,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:111,2'
          Dst:             lws_buflist_destroy_all_segments
        - Src:             'lib/core-net/close.c:112,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:113,2'
          Dst:             lws_buflist_destroy_all_segments
        - Src:             'lib/core-net/close.c:119,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:126,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:127,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:129,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:144,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:151,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:156,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:159,2'
          Dst:             __lws_same_vh_protocol_remove
        - Src:             'lib/core-net/close.c:162,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:173,2'
          Dst:             __lws_ssl_remove_wsi_from_buffered_list
        - Src:             'lib/core-net/close.c:175,2'
          Dst:             __lws_wsi_remove_from_sul
        - Src:             'lib/core-net/close.c:182,2'
          Dst:             __lws_header_table_detach
    - functionName:    lws_close_trans_q_leader
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_close_free_wsi
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/close.c:34,2'
          Dst:             __lws_close_free_wsi
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_is_local_address
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1431
      functionLinenumberEnd: 1443
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          75
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:1435,7'
          Dst:             strcmp
        - Src:             'lib/core-net/network.c:1436,7'
          Dst:             strcmp
        - Src:             'lib/core-net/network.c:1437,7'
          Dst:             strcmp
        - Src:             'lib/core-net/network.c:1438,7'
          Dst:             strcmp
        - Src:             'lib/core-net/network.c:1439,7'
          Dst:             strcmp
    - functionName:    lws_parse_cidr
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1405
      functionLinenumberEnd: 1427
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          88
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - atoi
        - lws_sa46_parse_numeric_address
        - lws_strncpy
        - strchr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:1409,2'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/network.c:1410,14'
          Dst:             strchr
        - Src:             'lib/core-net/network.c:1416,10'
          Dst:             atoi
        - Src:             'lib/core-net/network.c:1419,6'
          Dst:             lws_sa46_parse_numeric_address
    - functionName:    lws_sa46_parse_numeric_address
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 943
      functionLinenumberEnd: 1003
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          74
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - lws_parse_numeric_address
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:949,6'
          Dst:             lws_parse_numeric_address
    - functionName:    lws_parse_numeric_address
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 814
      functionLinenumberEnd: 939
      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:    3
      BranchProfiles:
        - Branch String:   'lib/core-net/network.c:842,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/network.c:817,34'
          Dst:             strchr
        - Src:             'lib/core-net/network.c:822,2'
          Dst:             lws_tokenize_init
        - Src:             'lib/core-net/network.c:824,11'
          Dst:             strlen
        - Src:             'lib/core-net/network.c:841,18'
          Dst:             lws_tokenize
        - Src:             'lib/core-net/network.c:855,9'
          Dst:             strtol
        - Src:             'lib/core-net/network.c:867,9'
          Dst:             strtol
        - Src:             'lib/core-net/network.c:929,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/network.c:936,2'
          Dst:             _lws_log
    - functionName:    strtol
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_is_lan_address
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1333
      functionLinenumberEnd: 1401
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         88
      ICount:          479
      EdgeCount:       126
      CyclomaticComplexity: 40
      functionsReached:
        - lws_sa46_is_ipv4_mapped
        - lws_sa46_parse_numeric_address
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:1339,6'
          Dst:             lws_sa46_parse_numeric_address
        - Src:             'lib/core-net/network.c:1370,7'
          Dst:             lws_sa46_is_ipv4_mapped
    - functionName:    lws_sa46_is_ipv4_mapped
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1007
      functionLinenumberEnd: 1021
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         30
      ICount:          159
      EdgeCount:       42
      CyclomaticComplexity: 14
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_parse_mac
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1274
      functionLinenumberEnd: 1329
      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:1287,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/network.c:1281,2'
          Dst:             lws_tokenize_init
        - Src:             'lib/core-net/network.c:1283,11'
          Dst:             strlen
        - Src:             'lib/core-net/network.c:1286,18'
          Dst:             lws_tokenize
        - Src:             'lib/core-net/network.c:1301,8'
          Dst:             strtol
        - Src:             'lib/core-net/network.c:1320,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/network.c:1326,2'
          Dst:             _lws_log
    - functionName:    lws_system_get_state_manager
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1267
      functionLinenumberEnd: 1268
      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: 1248
      functionLinenumberEnd: 1262
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          44
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sa46_on_net
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1187
      functionLinenumberEnd: 1244
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          188
      EdgeCount:       39
      CyclomaticComplexity: 11
      functionsReached:
        - lws_4to6
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:1201,4'
          Dst:             lws_4to6
        - Src:             'lib/core-net/network.c:1219,4'
          Dst:             lws_4to6
    - functionName:    lws_4to6
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1161
      functionLinenumberEnd: 1170
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          40
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sa46_4to6
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1175
      functionLinenumberEnd: 1181
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - htons
        - lws_4to6
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:1178,2'
          Dst:             lws_4to6
        - Src:             'lib/core-net/network.c:1180,24'
          Dst:             htons
    - functionName:    htons
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sa46_compare_ads
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1124
      functionLinenumberEnd: 1157
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          100
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - lws_4to6
        - memcmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:1133,3'
          Dst:             lws_4to6
        - Src:             'lib/core-net/network.c:1146,3'
          Dst:             lws_4to6
        - Src:             'lib/core-net/network.c:1156,9'
          Dst:             memcmp
    - functionName:    lws_write_numeric_address
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1025
      functionLinenumberEnd: 1089
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         58
      ICount:          376
      EdgeCount:       79
      CyclomaticComplexity: 23
      functionsReached:
        - lws_snprintf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:1032,10'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/network.c:1057,14'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/network.c:1068,11'
          Dst:             lws_snprintf
    - functionName:    lws_retry_sul_schedule_retry_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 600
      functionLinenumberEnd: 633
      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:602,18'
          Dst:             lws_retry_get_delay_ms
        - Src:             'lib/core-net/network.c:627,3'
          Dst:             lws_http_check_retry_after
        - Src:             'lib/core-net/network.c:630,2'
          Dst:             lws_sul_schedule
    - functionName:    lws_retry_get_delay_ms
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 544
      functionLinenumberEnd: 576
      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:565,6'
          Dst:             lws_get_random
        - Src:             'lib/core-net/network.c:568,3'
          Dst:             __assert_fail
    - functionName:    lws_retry_sul_schedule
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 583
      functionLinenumberEnd: 595
      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:585,16'
          Dst:             lws_retry_get_delay_ms
        - Src:             'lib/core-net/network.c:590,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/network.c:590,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:590,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/network.c:592,2'
          Dst:             lws_sul_schedule
    - functionName:    lws_get_addr_scope
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 639
      functionLinenumberEnd: 768
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          143
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - freeifaddrs
        - getifaddrs
        - getnameinfo
        - if_nametoindex
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:661,10'
          Dst:             if_nametoindex
        - Src:             'lib/core-net/network.c:674,2'
          Dst:             getifaddrs
        - Src:             'lib/core-net/network.c:681,3'
          Dst:             getnameinfo
        - Src:             'lib/core-net/network.c:691,8'
          Dst:             strcmp
        - Src:             'lib/core-net/network.c:692,12'
          Dst:             if_nametoindex
        - Src:             'lib/core-net/network.c:696,2'
          Dst:             freeifaddrs
    - functionName:    if_nametoindex
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getifaddrs
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getnameinfo
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    freeifaddrs
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    interface_to_sa
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_interface_to_sa
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:96,9'
          Dst:             lws_interface_to_sa
    - functionName:    lws_socket_bind
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 293
      functionLinenumberEnd: 537
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         80
      ICount:          565
      EdgeCount:       108
      CyclomaticComplexity: 30
      functionsReached:
        - __errno_location
        - _lws_log_cx
        - bind
        - chmod
        - chown
        - getsockname
        - htonl
        - htons
        - interface_to_sa
        - lws_errno_describe
        - lws_get_addr_scope
        - lws_log_prepend_vhost
        - lws_log_prepend_wsi
        - lws_plat_user_colon_group_to_ids
        - lws_sa46_write_numeric_address
        - lws_strncpy
        - lwsl_vhost_get_cx
        - lwsl_wsi_get_cx
        - ntohs
        - setsockopt
        - strlen
        - unlink
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib/core-net/network.c:319,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/network.c:327,37'
          Dst:             strlen
        - Src:             'lib/core-net/network.c:328,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:328,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:328,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:335,32'
          Dst:             strlen
        - Src:             'lib/core-net/network.c:337,3'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/network.c:341,4'
          Dst:             unlink
        - Src:             'lib/core-net/network.c:365,8'
          Dst:             interface_to_sa
        - Src:             'lib/core-net/network.c:368,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:368,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:368,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:373,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:373,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:373,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:378,6'
          Dst:             lws_get_addr_scope
        - Src:             'lib/core-net/network.c:377,45'
          Dst:             htonl
        - Src:             'lib/core-net/network.c:381,36'
          Dst:             htons
        - Src:             'lib/core-net/network.c:396,11'
          Dst:             interface_to_sa
        - Src:             'lib/core-net/network.c:399,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:399,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:399,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:404,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:404,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:404,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:410,25'
          Dst:             htons
        - Src:             'lib/core-net/network.c:422,73'
          Dst:             strlen
        - Src:             'lib/core-net/network.c:422,7'
          Dst:             setsockopt
        - Src:             'lib/core-net/network.c:424,21'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:425,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:425,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:425,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:433,6'
          Dst:             bind
        - Src:             'lib/core-net/network.c:438,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:438,3'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:438,3'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/network.c:438,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:438,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:446,20'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:450,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:450,3'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/network.c:450,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:450,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:471,8'
          Dst:             lws_plat_user_colon_group_to_ids
        - Src:             'lib/core-net/network.c:473,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:473,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:473,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:479,8'
          Dst:             chown
        - Src:             'lib/core-net/network.c:480,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:480,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:480,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:486,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:486,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:486,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:491,8'
          Dst:             chmod
        - Src:             'lib/core-net/network.c:492,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:492,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:492,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:501,6'
          Dst:             getsockname
        - Src:             'lib/core-net/network.c:505,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:505,3'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:505,3'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/network.c:505,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:505,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:513,4'
          Dst:             ntohs
        - Src:             'lib/core-net/network.c:514,4'
          Dst:             ntohs
        - Src:             'lib/core-net/network.c:529,4'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/network.c:532,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/network.c:532,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:532,4'
          Dst:             lws_log_prepend_vhost
    - functionName:    htonl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    setsockopt
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    27
      BranchProfiles:  []
      Callsites:       []
    - functionName:    bind
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_errno_describe
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          79
      EdgeCount:       29
      CyclomaticComplexity: 16
      functionsReached:
        - lws_snprintf
      functionUses:    16
      BranchProfiles:
        - Branch String:   'lib/core-net/network.c:32,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/network.c:54,2'
          Dst:             lws_snprintf
    - functionName:    chown
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    chmod
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getsockname
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ntohs
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sa46_write_numeric_address
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1093
      functionLinenumberEnd: 1120
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          111
      EdgeCount:       19
      CyclomaticComplexity: 7
      functionsReached:
        - lws_snprintf
        - lws_write_numeric_address
      functionUses:    25
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:1097,10'
          Dst:             lws_write_numeric_address
        - Src:             'lib/core-net/network.c:1102,10'
          Dst:             lws_write_numeric_address
        - Src:             'lib/core-net/network.c:1108,10'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/network.c:1112,10'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/network.c:1115,10'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/network.c:1117,2'
          Dst:             lws_snprintf
    - functionName:    lws_get_addresses
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          195
      EdgeCount:       43
      CyclomaticComplexity: 13
      functionsReached:
        - __errno_location
        - _lws_log_cx
        - getnameinfo
        - lws_errno_describe
        - lws_log_prepend_vhost
        - lws_plat_inet_ntop
        - lwsl_vhost_get_cx
        - strlen
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:118,8'
          Dst:             lws_plat_inet_ntop
        - Src:             'lib/core-net/network.c:123,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/network.c:123,4'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:123,4'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/network.c:123,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:123,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/network.c:130,7'
          Dst:             strncmp
        - Src:             'lib/core-net/network.c:131,26'
          Dst:             strlen
        - Src:             'lib/core-net/network.c:135,4'
          Dst:             getnameinfo
        - Src:             'lib/core-net/network.c:161,4'
          Dst:             getnameinfo
        - Src:             'lib/core-net/network.c:184,6'
          Dst:             lws_plat_inet_ntop
    - functionName:    lws_get_peer_addresses
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 228
      functionLinenumberEnd: 277
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          142
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - _lws_log_cx
        - getpeername
        - lws_errno_describe
        - lws_get_addresses
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:256,6'
          Dst:             getpeername
        - Src:             'lib/core-net/network.c:260,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:260,3'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:260,3'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/network.c:260,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:260,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:266,9'
          Dst:             lws_get_addresses
    - functionName:    getpeername
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_peer_simple
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 213
      functionLinenumberEnd: 222
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_get_network_wsi
        - lws_get_peer_simple_fd
        - lws_sa46_write_numeric_address
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:214,8'
          Dst:             lws_get_network_wsi
        - Src:             'lib/core-net/network.c:217,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/network.c:221,9'
          Dst:             lws_get_peer_simple_fd
    - functionName:    lws_get_peer_simple_fd
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 209
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          51
      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:198,6'
          Dst:             getpeername
        - Src:             'lib/core-net/network.c:202,24'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:202,5'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/network.c:201,3'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/network.c:206,2'
          Dst:             lws_sa46_write_numeric_address
    - functionName:    lws_vhost_active_conns
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2009
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         76
      ICount:          509
      EdgeCount:       105
      CyclomaticComplexity: 31
      functionsReached:
        - _lws_generic_transaction_completed_active_conn
        - _lws_log_cx
        - lws_dll2_add_tail
        - lws_dll2_is_detached
        - lws_log_prepend_wsi
        - lws_set_timeout
        - lws_wsi_client_stash_item
        - lws_wsi_h2_adopt
        - lws_wsi_tag
        - lwsi_set_state
        - lwsl_wsi_get_cx
        - strcmp
        - strstr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:2012,24'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/core-net/vhost.c:2021,26'
          Dst:             strstr
        - Src:             'lib/core-net/vhost.c:2030,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/vhost.c:2059,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:2059,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/vhost.c:2059,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:2059,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:2076,32'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:2097,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:2097,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:2097,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:2111,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:2111,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:2111,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:2115,6'
          Dst:             _lws_generic_transaction_completed_active_conn
        - Src:             'lib/core-net/vhost.c:2133,6'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/vhost.c:2134,6'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/vhost.c:2138,5'
          Dst:             lws_wsi_h2_adopt
        - Src:             'lib/core-net/vhost.c:2213,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:2213,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/vhost.c:2213,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:2213,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:2220,4'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/vhost.c:2224,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:    19
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_vhost_by_name
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1981
      functionLinenumberEnd: 1990
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          94
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - strcmp
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1984,31'
          Dst:             strcmp
    - functionName:    lws_context_deprecate
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1941
      functionLinenumberEnd: 1974
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          93
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - lws_close_free_wsi
        - lws_dll2_get_head
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1957,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/vhost.c:1963,4'
          Dst:             lws_close_free_wsi
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_vhost_listen_port
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1934
      functionLinenumberEnd: 1935
      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: 1928
      functionLinenumberEnd: 1929
      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: 1667
      functionLinenumberEnd: 1856
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         107
      ICount:          683
      EdgeCount:       138
      CyclomaticComplexity: 33
      functionsReached:
        - __errno_location
        - __lws_lc_untag
        - _lws_log
        - _lws_log_cx
        - lws_dll2_remove
        - lws_log_prepend_vhost
        - lws_realloc
        - lws_ssl_SSL_CTX_destroy
        - lws_tls_ctx_ref_destroy_all
        - lwsl_vhost_get_cx
        - unlink
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1687,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/vhost.c:1716,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1716,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1716,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1765,5'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1773,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1775,2'
          Dst:             lws_tls_ctx_ref_destroy_all
        - Src:             'lib/core-net/vhost.c:1777,2'
          Dst:             lws_ssl_SSL_CTX_destroy
        - Src:             'lib/core-net/vhost.c:1778,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1785,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1800,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1801,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1802,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1803,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1804,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1805,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1815,7'
          Dst:             unlink
        - Src:             'lib/core-net/vhost.c:1817,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1817,4'
          Dst:             __errno_location
        - Src:             'lib/core-net/vhost.c:1817,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1817,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1843,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/vhost.c:1852,2'
          Dst:             __lws_lc_untag
        - Src:             'lib/core-net/vhost.c:1855,2'
          Dst:             lws_realloc
    - functionName:    lwsl_vhost_get_cx
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2260
      functionLinenumberEnd: 2265
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    54
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_log_prepend_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2269
      functionLinenumberEnd: 2274
      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:    54
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:2273,8'
          Dst:             lws_vh_tag
        - Src:             'lib/core-net/vhost.c:2272,8'
          Dst:             lws_snprintf
    - functionName:    lws_vh_tag
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2254
      functionLinenumberEnd: 2255
      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:2255,9'
          Dst:             lws_lc_tag
    - functionName:    lws_vhost_destroy1
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1522
      functionLinenumberEnd: 1644
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         46
      ICount:          299
      EdgeCount:       59
      CyclomaticComplexity: 15
      functionsReached:
        - __lws_vhost_unbind_wsi
        - _lws_log_cx
        - lws_dll2_add_tail
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_log_prepend_vhost
        - lws_set_timeout
        - lws_tls_session_vh_destroy
        - lws_vh_tag
        - lws_vhost_bind_wsi
        - lws_vhost_compare_listen
        - lwsl_vhost_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1526,2'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1526,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1526,2'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1544,2'
          Dst:             lws_tls_session_vh_destroy
        - Src:             'lib/core-net/vhost.c:1549,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/vhost.c:1566,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/vhost.c:1580,8'
          Dst:             lws_vhost_compare_listen
        - Src:             'lib/core-net/vhost.c:1589,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1589,5'
          Dst:             lws_vh_tag
        - Src:             'lib/core-net/vhost.c:1589,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1589,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1592,5'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/vhost.c:1593,5'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/vhost.c:1606,5'
          Dst:             __lws_vhost_unbind_wsi
        - Src:             'lib/core-net/vhost.c:1607,5'
          Dst:             lws_vhost_bind_wsi
        - Src:             'lib/core-net/vhost.c:1622,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/vhost.c:1626,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/vhost.c:1627,3'
          Dst:             lws_set_timeout
    - functionName:    lws_vhost_compare_listen
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1486
      functionLinenumberEnd: 1489
      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:1488,32'
          Dst:             strcmp
    - functionName:    lws_vhost_foreach_listen_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1496
      functionLinenumberEnd: 1510
      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:1502,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: 1418
      functionLinenumberEnd: 1479
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          174
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_vhost
        - lws_log_prepend_wsi
        - lws_set_timeout
        - lwsl_vhost_get_cx
        - lwsl_wsi_get_cx
        - wsi_from_fd
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1447,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1447,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1447,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1448,4'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/vhost.c:1460,21'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/vhost.c:1464,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:1464,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1464,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:1467,4'
          Dst:             lws_set_timeout
    - functionName:    lws_destroy_event_pipe
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1395
      functionLinenumberEnd: 1404
      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:1398,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:1398,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1398,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:1400,6'
          Dst:             lws_wsi_extract_from_loop
        - Src:             'lib/core-net/vhost.c:1401,2'
          Dst:             lws_plat_pipe_close
        - Src:             'lib/core-net/vhost.c:1403,3'
          Dst:             lws_realloc
    - functionName:    __lws_create_event_pipes
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1336
      functionLinenumberEnd: 1391
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          102
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - __lws_lc_tag
        - __lws_wsi_create_with_role
        - lws_plat_pipe_create
        - lws_wsi_inject_to_loop
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1357,9'
          Dst:             __lws_wsi_create_with_role
        - Src:             'lib/core-net/vhost.c:1362,3'
          Dst:             __lws_lc_tag
        - Src:             'lib/core-net/vhost.c:1368,8'
          Dst:             lws_plat_pipe_create
        - Src:             'lib/core-net/vhost.c:1381,8'
          Dst:             lws_wsi_inject_to_loop
    - functionName:    lws_cancel_service
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1318
      functionLinenumberEnd: 1332
      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:1325,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/vhost.c:1325,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1325,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/vhost.c:1329,4'
          Dst:             lws_plat_pipe_signal
    - functionName:    lws_cancel_service_pt
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1312
      functionLinenumberEnd: 1314
      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:1313,2'
          Dst:             lws_plat_pipe_signal
    - functionName:    lws_init_vhost_client_ssl
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1301
      functionLinenumberEnd: 1307
      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:1307,9'
          Dst:             lws_context_init_client_ssl
    - functionName:    lws_vhost_set_mounts
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1292
      functionLinenumberEnd: 1296
      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: 1886
      functionLinenumberEnd: 1923
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          57
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __lws_vhost_destroy2
        - __lws_vhost_destroy_pt_wsi_dieback_start
        - _lws_log_cx
        - lws_log_prepend_vhost
        - lws_vhost_destroy1
        - lwsl_vhost_get_cx
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1892,2'
          Dst:             lws_vhost_destroy1
        - Src:             'lib/core-net/vhost.c:1896,2'
          Dst:             __lws_vhost_destroy_pt_wsi_dieback_start
        - Src:             'lib/core-net/vhost.c:1899,2'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1899,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1899,2'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1903,3'
          Dst:             __lws_vhost_destroy2
    - functionName:    lws_create_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 701
      functionLinenumberEnd: 1288
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         174
      ICount:          1548
      EdgeCount:       230
      CyclomaticComplexity: 58
      functionsReached:
        - __lws_lc_tag
        - __lws_lc_untag
        - _lws_log
        - _lws_log_cx
        - _lws_vhost_init_server
        - getenv
        - lws_context_init_client_ssl
        - lws_context_init_server_ssl
        - lws_log_prepend_vhost
        - lws_protocol_init
        - lws_realloc
        - lws_set_proxy
        - lws_snprintf
        - lws_strdup
        - lws_strncpy
        - lws_vhost_destroy
        - lws_zalloc
        - lwsl_vhost_get_cx
        - strcpy
        - strlen
      functionUses:    5
      BranchProfiles:
        - Branch String:   'lib/core-net/vhost.c:1124,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/vhost.c:739,33'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:739,8'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/vhost.c:759,33'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:773,8'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/vhost.c:775,9'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/vhost.c:777,9'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/vhost.c:780,2'
          Dst:             __lws_lc_tag
        - Src:             'lib/core-net/vhost.c:802,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:802,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:802,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:876,3'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/vhost.c:880,33'
          Dst:             lws_strdup
        - Src:             'lib/core-net/vhost.c:882,41'
          Dst:             lws_strdup
        - Src:             'lib/core-net/vhost.c:885,54'
          Dst:             lws_strdup
        - Src:             'lib/core-net/vhost.c:888,34'
          Dst:             lws_strdup
        - Src:             'lib/core-net/vhost.c:890,33'
          Dst:             lws_strdup
        - Src:             'lib/core-net/vhost.c:914,13'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:916,13'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:920,6'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:924,13'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:931,11'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:960,10'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/vhost.c:974,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/vhost.c:1094,4'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/vhost.c:1119,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1119,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1119,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1126,4'
          Dst:             strcpy
        - Src:             'lib/core-net/vhost.c:1129,4'
          Dst:             strcpy
        - Src:             'lib/core-net/vhost.c:1132,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/vhost.c:1135,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1135,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1135,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1143,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1143,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1143,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1169,3'
          Dst:             lws_set_proxy
        - Src:             'lib/core-net/vhost.c:1177,7'
          Dst:             getenv
        - Src:             'lib/core-net/vhost.c:1179,4'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/vhost.c:1180,4'
          Dst:             lws_set_proxy
        - Src:             'lib/core-net/vhost.c:1197,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1197,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1197,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1222,6'
          Dst:             lws_context_init_server_ssl
        - Src:             'lib/core-net/vhost.c:1223,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1223,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1223,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1228,6'
          Dst:             lws_context_init_client_ssl
        - Src:             'lib/core-net/vhost.c:1229,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1229,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1229,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1238,7'
          Dst:             _lws_vhost_init_server
        - Src:             'lib/core-net/vhost.c:1241,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1241,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1241,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1267,7'
          Dst:             lws_protocol_init
        - Src:             'lib/core-net/vhost.c:1268,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1268,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1268,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1275,2'
          Dst:             lws_vhost_destroy
        - Src:             'lib/core-net/vhost.c:1280,2'
          Dst:             __lws_lc_untag
        - Src:             'lib/core-net/vhost.c:1282,2'
          Dst:             lws_realloc
    - functionName:    lws_protocol_init
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 621
      functionLinenumberEnd: 670
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         29
      ICount:          185
      EdgeCount:       38
      CyclomaticComplexity: 11
      functionsReached:
        - _lws_log_cx
        - lws_finalize_startup
        - lws_log_prepend_context
        - lws_log_prepend_vhost
        - lws_protocol_init_vhost
        - lws_tls_check_all_cert_lifetimes
        - lwsl_context_get_cx
        - lwsl_vhost_get_cx
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:630,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/vhost.c:630,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:630,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/vhost.c:641,7'
          Dst:             lws_protocol_init_vhost
        - Src:             'lib/core-net/vhost.c:642,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:642,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:642,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:652,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/vhost.c:652,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:652,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/vhost.c:658,4'
          Dst:             lws_finalize_startup
        - Src:             'lib/core-net/vhost.c:665,3'
          Dst:             lws_tls_check_all_cert_lifetimes
    - functionName:    lws_protocol_init_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 406
      functionLinenumberEnd: 612
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         88
      ICount:          761
      EdgeCount:       118
      CyclomaticComplexity: 32
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_vhost
        - lws_realloc
        - lws_vhost_protocol_options
        - lwsl_vhost_get_cx
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:437,9'
          Dst:             lws_vhost_protocol_options
        - Src:             'lib/core-net/vhost.c:447,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:447,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:447,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:452,10'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:453,6'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:453,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:453,6'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:458,10'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:459,6'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:459,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:459,6'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:467,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:467,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:467,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:475,9'
          Dst:             lws_vhost_protocol_options
        - Src:             'lib/core-net/vhost.c:499,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:499,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:499,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:506,6'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:509,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:509,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:509,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:529,9'
          Dst:             lws_vhost_protocol_options
        - Src:             'lib/core-net/vhost.c:539,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:539,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:539,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:544,10'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:545,6'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:545,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:545,6'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:550,10'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:551,6'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:551,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:551,6'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:559,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:559,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:559,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:567,9'
          Dst:             lws_vhost_protocol_options
        - Src:             'lib/core-net/vhost.c:591,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:591,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:591,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:598,6'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:601,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:601,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:601,5'
          Dst:             lws_log_prepend_vhost
    - functionName:    lws_vhost_protocol_options
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 389
      functionLinenumberEnd: 402
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          60
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - strcmp
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:396,8'
          Dst:             strcmp
    - functionName:    lws_vhd_find_by_pvo
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 343
      functionLinenumberEnd: 385
      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:357,8'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:362,9'
          Dst:             lws_pvo_search
        - Src:             'lib/core-net/vhost.c:366,9'
          Dst:             lws_pvo_search
        - Src:             'lib/core-net/vhost.c:371,9'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:380,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:380,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:380,4'
          Dst:             lws_log_prepend_vhost
    - functionName:    lws_protocol_vh_priv_get
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 312
      functionLinenumberEnd: 338
      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:326,9'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:332,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:332,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:332,4'
          Dst:             lws_log_prepend_vhost
    - functionName:    lws_protocol_vh_priv_zalloc
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 271
      functionLinenumberEnd: 307
      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:279,39'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/vhost.c:294,9'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:300,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:300,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:300,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:305,32'
          Dst:             lws_zalloc
    - functionName:    lws_role_call_client_bind
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 265
      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: 163
      functionLinenumberEnd: 238
      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:174,4'
          Dst:             lws_role_by_name
        - Src:             'lib/core-net/vhost.c:180,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:180,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:180,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:183,8'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:196,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:196,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:196,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:201,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:201,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:201,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:227,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:227,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:227,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_role_by_name
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          72
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - strcmp
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:108,8'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:112,7'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:116,7'
          Dst:             strcmp
    - functionName:    lws_role_call_alpn_negotiated
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         41
      ICount:          261
      EdgeCount:       56
      CyclomaticComplexity: 17
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
        - strcmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:131,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:131,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:131,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:136,32'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:137,6'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:137,46'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:138,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:138,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:138,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:147,20'
          Dst:             strcmp
    - functionName:    lws_callback_on_writable_all_protocol
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 669
      functionLinenumberEnd: 692
      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:682,9'
          Dst:             strcmp
        - Src:             'lib/core-net/pollfd.c:685,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: 635
      functionLinenumberEnd: 664
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          163
      EdgeCount:       30
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_callback_on_writable
        - lws_dll2_get_head
        - lws_log_prepend_vhost
        - lwsl_vhost_get_cx
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:641,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/pollfd.c:641,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:641,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/pollfd.c:651,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/pollfd.c:655,3'
          Dst:             strcmp
        - Src:             'lib/core-net/pollfd.c:655,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/pollfd.c:659,3'
          Dst:             lws_callback_on_writable
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_callback_on_writable
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 554
      functionLinenumberEnd: 581
      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:    53
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:569,7'
          Dst:             lws_get_network_wsi
        - Src:             'lib/core-net/pollfd.c:572,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/pollfd.c:572,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:572,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/pollfd.c:577,6'
          Dst:             __lws_change_pollfd
    - functionName:    __lws_change_pollfd
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 505
      functionLinenumberEnd: 535
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          91
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_change_pollfd
        - lws_get_context
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:514,12'
          Dst:             lws_get_context
        - Src:             'lib/core-net/pollfd.c:525,8'
          Dst:             _lws_change_pollfd
    - functionName:    _lws_change_pollfd
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 216
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         64
      ICount:          461
      EdgeCount:       84
      CyclomaticComplexity: 22
      functionsReached:
        - __assert_fail
        - _lws_event_loop_ops_io
        - _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:174,3'
          Dst:             _lws_event_loop_ops_io
        - Src:             'lib/core-net/pollfd.c:177,3'
          Dst:             _lws_event_loop_ops_io
        - Src:             'lib/core-net/pollfd.c:180,3'
          Dst:             _lws_event_loop_ops_io
        - Src:             'lib/core-net/pollfd.c:183,3'
          Dst:             _lws_event_loop_ops_io
        - Src:             'lib/core-net/pollfd.c:196,7'
          Dst:             lws_plat_change_pollfd
        - Src:             'lib/core-net/pollfd.c:197,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/pollfd.c:197,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:197,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/pollfd.c:210,5'
          Dst:             lws_cancel_service_pt
    - functionName:    _lws_event_loop_ops_io
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 485
      functionLinenumberEnd: 501
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          138
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_same_vh_protocol_remove
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 618
      functionLinenumberEnd: 629
      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:625,2'
          Dst:             __lws_same_vh_protocol_remove
    - functionName:    __lws_same_vh_protocol_remove
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 611
      functionLinenumberEnd: 614
      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:613,3'
          Dst:             lws_dll2_remove
    - functionName:    lws_same_vh_protocol_insert
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 595
      functionLinenumberEnd: 607
      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:599,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/pollfd.c:600,2'
          Dst:             lws_dll2_add_head
    - functionName:    lws_change_pollfd
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 539
      functionLinenumberEnd: 549
      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:    32
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:546,8'
          Dst:             __lws_change_pollfd
    - functionName:    __remove_wsi_socket_from_fds
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 481
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         60
      ICount:          415
      EdgeCount:       77
      CyclomaticComplexity: 19
      functionsReached:
        - __assert_fail
        - __lws_same_vh_protocol_remove
        - _lws_event_loop_ops_io
        - _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:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:373,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/pollfd.c:373,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:373,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/pollfd.c:387,2'
          Dst:             __lws_same_vh_protocol_remove
        - Src:             'lib/core-net/pollfd.c:393,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/pollfd.c:396,3'
          Dst:             _lws_event_loop_ops_io
        - Src:             'lib/core-net/pollfd.c:406,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/pollfd.c:409,3'
          Dst:             delete_from_fd
        - Src:             'lib/core-net/pollfd.c:420,3'
          Dst:             lws_plat_delete_socket_from_fds
        - Src:             'lib/core-net/pollfd.c:426,14'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/pollfd.c:428,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/pollfd.c:428,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:428,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/pollfd.c:468,3'
          Dst:             lws_accept_modulation
    - functionName:    lws_accept_modulation
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 242
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          72
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_change_pollfd
        - lws_dll2_get_head
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:231,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/pollfd.c:236,4'
          Dst:             _lws_change_pollfd
    - functionName:    __insert_wsi_socket_into_fds
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 267
      functionLinenumberEnd: 351
      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:278,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/pollfd.c:278,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:278,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/pollfd.c:282,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/pollfd.c:282,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:282,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/pollfd.c:290,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/pollfd.c:290,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:290,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/pollfd.c:297,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/pollfd.c:300,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/pollfd.c:304,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/pollfd.c:314,6'
          Dst:             insert_wsi
        - Src:             'lib/core-net/pollfd.c:325,2'
          Dst:             lws_plat_insert_socket_into_fds
        - Src:             'lib/core-net/pollfd.c:338,3'
          Dst:             lws_accept_modulation
    - functionName:    __dump_fds
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 248
      functionLinenumberEnd: 260
      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:251,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/pollfd.c:251,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:251,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/pollfd.c:254,21'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/pollfd.c:256,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/pollfd.c:256,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/pollfd.c:256,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:256,3'
          Dst:             lws_log_prepend_context
    - functionName:    lws_service_tsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1018
      functionLinenumberEnd: 1045
      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:1040,6'
          Dst:             _lws_plat_service_tsi
    - functionName:    lws_service
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 990
      functionLinenumberEnd: 1014
      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:1008,6'
          Dst:             lws_plat_service
    - functionName:    lws_service_fd
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 984
      functionLinenumberEnd: 985
      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:985,9'
          Dst:             lws_service_fd_tsi
    - functionName:    lws_service_fd_tsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 948
      functionLinenumberEnd: 980
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          138
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - _lws_service_fd_tsi
        - wsi_from_fd
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/service.c:959,8'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/service.c:972,8'
          Dst:             _lws_service_fd_tsi
    - functionName:    _lws_service_fd_tsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 732
      functionLinenumberEnd: 943
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         65
      ICount:          386
      EdgeCount:       78
      CyclomaticComplexity: 15
      functionsReached:
        - __assert_fail
        - __lws_change_pollfd
        - __lws_tls_shutdown
        - _lws_log_cx
        - lws_buflist_total_len
        - lws_callback_on_writable
        - lws_client_connect_3_connect
        - lws_close_free_wsi
        - lws_is_ssl
        - lws_log_prepend_wsi
        - lws_set_timeout
        - lwsl_wsi_get_cx
        - wsi_from_fd
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/core-net/service.c:832,3'
          Branch Sides:    []
        - Branch String:   'lib/core-net/service.c:888,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/service.c:750,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:753,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:756,8'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/service.c:785,8'
          Dst:             lws_client_connect_3_connect
        - Src:             'lib/core-net/service.c:797,9'
          Dst:             lws_buflist_total_len
        - Src:             'lib/core-net/service.c:804,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:804,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:804,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:815,4'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/service.c:826,6'
          Dst:             lws_is_ssl
        - Src:             'lib/core-net/service.c:832,11'
          Dst:             __lws_tls_shutdown
        - Src:             'lib/core-net/service.c:870,3'
          Dst:             __lws_change_pollfd
        - Src:             'lib/core-net/service.c:879,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:903,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:922,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/service.c:933,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:933,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:933,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:934,2'
          Dst:             lws_close_free_wsi
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_service_flag_pending
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 659
      functionLinenumberEnd: 727
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          239
      EdgeCount:       43
      CyclomaticComplexity: 12
      functionsReached:
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/service.c:700,2'
          Dst:             lws_dll2_get_head
    - functionName:    lws_service_do_ripe_rxflow
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 608
      functionLinenumberEnd: 649
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          157
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - _lws_log_cx
        - lws_close_free_wsi
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/service.c:629,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:629,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:629,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:641,5'
          Dst:             lws_close_free_wsi
    - functionName:    lws_buflist_aware_finished_consuming
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 564
      functionLinenumberEnd: 604
      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:575,13'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/core-net/service.c:581,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:581,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:581,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:582,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/service.c:590,7'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core-net/service.c:596,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:596,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:596,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:597,8'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/service.c:598,5'
          Dst:             lws_dll2_add_head
    - functionName:    lws_buflist_aware_read
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 476
      functionLinenumberEnd: 559
      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:500,13'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/core-net/service.c:509,18'
          Dst:             lws_ssl_capable_read
        - Src:             'lib/core-net/service.c:511,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:511,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:511,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:515,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/service.c:533,7'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core-net/service.c:536,12'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/service.c:537,4'
          Dst:             lws_dll2_add_head
    - functionName:    lws_service_adjust_timeout
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 386
      functionLinenumberEnd: 466
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          253
      EdgeCount:       60
      CyclomaticComplexity: 18
      functionsReached:
        - __lws_sul_service_ripe
        - lws_now_usecs
        - lws_protocol_init
        - lws_smd_message_pending
        - lws_smd_msg_distribute
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/service.c:393,21'
          Dst:             lws_protocol_init
        - Src:             'lib/core-net/service.c:397,14'
          Dst:             lws_smd_message_pending
        - Src:             'lib/core-net/service.c:398,3'
          Dst:             lws_smd_msg_distribute
        - Src:             'lib/core-net/service.c:399,7'
          Dst:             lws_smd_message_pending
        - Src:             'lib/core-net/service.c:412,36'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/service.c:411,7'
          Dst:             __lws_sul_service_ripe
    - functionName:    lws_rxflow_cache
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 378
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          164
      EdgeCount:       30
      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:343,9'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/core-net/service.c:354,5'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/core-net/service.c:355,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:355,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:355,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:366,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:366,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:366,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:367,6'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core-net/service.c:372,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:372,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:372,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:373,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/service.c:374,4'
          Dst:             lws_dll2_add_head
    - functionName:    lws_handle_POLLOUT_event
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 332
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         81
      ICount:          505
      EdgeCount:       106
      CyclomaticComplexity: 27
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_callback_as_writeable
        - lws_change_pollfd
        - lws_client_connect_3_connect
        - 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:237,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/service.c:152,3'
          Dst:             lws_client_connect_3_connect
        - Src:             'lib/core-net/service.c:177,6'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/service.c:178,7'
          Dst:             lws_issue_raw
        - Src:             'lib/core-net/service.c:179,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:179,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:179,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:230,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:246,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:255,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/service.c:256,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:256,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:256,5'
          Dst:             lws_log_prepend_wsi
        - 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:270,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/service.c:271,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:271,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:271,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:301,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:301,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:301,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:307,6'
          Dst:             lws_callback_as_writeable
        - Src:             'lib/core-net/service.c:311,7'
          Dst:             lws_change_pollfd
    - functionName:    lws_callback_as_writeable
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 136
      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:132,6'
          Dst:             user_callback_handle_rxflow
    - functionName:    lws_service_assert_loop_thread
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    17
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sul_schedule_wakesuspend
      functionSourceFile: '/src/libwebsockets/lib/core-net/sorted-usec-list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 312
      functionLinenumberEnd: 328
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - lws_now_usecs
        - lws_sul2_schedule
        - lws_sul_cancel
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/sorted-usec-list.c:315,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/sorted-usec-list.c:320,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/sorted-usec-list.c:323,13'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/sorted-usec-list.c:324,3'
          Dst:             lws_sul2_schedule
    - functionName:    lws_sul_cancel
      functionSourceFile: '/src/libwebsockets/lib/core-net/sorted-usec-list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_remove
      functionUses:    39
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/sorted-usec-list.c:70,2'
          Dst:             lws_dll2_remove
    - functionName:    lws_sul2_schedule
      functionSourceFile: '/src/libwebsockets/lib/core-net/sorted-usec-list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          54
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - __lws_sul_insert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/sorted-usec-list.c:84,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/sorted-usec-list.c:86,2'
          Dst:             __lws_sul_insert
    - functionName:    __lws_sul_insert
      functionSourceFile: '/src/libwebsockets/lib/core-net/sorted-usec-list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - lws_dll2_add_sorted
        - lws_dll2_remove
        - sul_compare
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/sorted-usec-list.c:53,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/sorted-usec-list.c:55,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/sorted-usec-list.c:62,2'
          Dst:             lws_dll2_add_sorted
        - Src:             'lib/core-net/sorted-usec-list.c:62,2'
          Dst:             sul_compare
    - functionName:    sul_compare
      functionSourceFile: '/src/libwebsockets/lib/core-net/sorted-usec-list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sul_schedule
      functionSourceFile: '/src/libwebsockets/lib/core-net/sorted-usec-list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 290
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - lws_now_usecs
        - lws_sul2_schedule
        - lws_sul_cancel
      functionUses:    22
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/sorted-usec-list.c:293,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/sorted-usec-list.c:298,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/sorted-usec-list.c:301,13'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/sorted-usec-list.c:302,3'
          Dst:             lws_sul2_schedule
    - functionName:    lws_sul_earliest_wakeable_event
      functionSourceFile: '/src/libwebsockets/lib/core-net/sorted-usec-list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 253
      functionLinenumberEnd: 285
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          116
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - lws_dll2_get_head
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/sorted-usec-list.c:265,6'
          Dst:             lws_dll2_get_head
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sul_nonmonotonic_adjust
      functionSourceFile: '/src/libwebsockets/lib/core-net/sorted-usec-list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 244
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          107
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - lws_dll2_get_head
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/sorted-usec-list.c:222,4'
          Dst:             lws_dll2_get_head
    - functionName:    __lws_sul_service_ripe
      functionSourceFile: '/src/libwebsockets/lib/core-net/sorted-usec-list.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          187
      EdgeCount:       41
      CyclomaticComplexity: 11
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_system_do_attach
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/sorted-usec-list.c:107,3'
          Dst:             lws_system_do_attach
        - Src:             'lib/core-net/sorted-usec-list.c:112,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/sorted-usec-list.c:133,12'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/sorted-usec-list.c:150,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/sorted-usec-list.c:155,3'
          Dst:             lws_dll2_remove
    - functionName:    lws_wsi_mux_apply_queue
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1667
      functionLinenumberEnd: 1739
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          165
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - lws_dll2_remove
        - lws_log_prepend_wsi
        - lws_set_timeout
        - lws_wsi_h2_adopt
        - lws_wsi_tag
        - lwsi_set_state
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1677,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1677,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1677,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1677,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1679,9'
          Dst:             _lws_log
        - Src:             'lib/core-net/wsi.c:1685,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1685,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1685,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1687,4'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/wsi.c:1690,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi.c:1691,4'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/wsi.c:1695,4'
          Dst:             lws_wsi_h2_adopt
    - functionName:    lwsl_wsi_get_cx
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1079
      functionLinenumberEnd: 1084
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    295
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_wsi_tag
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 27
      functionLinenumberEnd: 31
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_lc_tag
      functionUses:    126
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:30,9'
          Dst:             lws_lc_tag
    - functionName:    lws_log_prepend_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          38
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_snprintf
        - lws_wsi_tag
      functionUses:    295
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:53,63'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:53,8'
          Dst:             lws_snprintf
    - functionName:    lwsi_set_state
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    62
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:45,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:45,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:45,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_wsi_txc_report_manual_txcr_in
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1652
      functionLinenumberEnd: 1663
      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:1660,9'
          Dst:             user_callback_handle_rxflow
    - functionName:    user_callback_handle_rxflow
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 465
      functionLinenumberEnd: 474
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          62
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __lws_rx_flow_control
      functionUses:    24
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:472,7'
          Dst:             __lws_rx_flow_control
    - functionName:    __lws_rx_flow_control
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 477
      functionLinenumberEnd: 524
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         29
      ICount:          189
      EdgeCount:       39
      CyclomaticComplexity: 12
      functionsReached:
        - __lws_change_pollfd
        - __lws_rx_flow_control
        - _lws_log_cx
        - lws_buflist_next_segment_len
        - lws_callback_on_writable
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:488,4'
          Dst:             __lws_rx_flow_control
        - Src:             'lib/core-net/wsi.c:498,6'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/core-net/wsi.c:500,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/wsi.c:508,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:508,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:508,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:514,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:514,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:514,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:516,7'
          Dst:             __lws_change_pollfd
        - Src:             'lib/core-net/wsi.c:517,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:517,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:517,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:520,13'
          Dst:             __lws_change_pollfd
    - functionName:    lws_wsi_tx_credit
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1639
      functionLinenumberEnd: 1645
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          94
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_wsi_txc_describe
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1632
      functionLinenumberEnd: 1636
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          35
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_log
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1633,2'
          Dst:             _lws_log
    - functionName:    lws_wsi_txc_check_skint
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1606
      functionLinenumberEnd: 1628
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          65
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1615,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/wsi.c:1623,3'
          Dst:             _lws_log
    - functionName:    lws_wsi_mux_action_pending_writeable_reqs
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1580
      functionLinenumberEnd: 1604
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          102
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - lws_change_pollfd
        - lws_get_network_wsi
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1581,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/core-net/wsi.c:1584,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/wsi.c:1593,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/wsi.c:1600,6'
          Dst:             lws_change_pollfd
    - functionName:    lws_get_network_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          70
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    39
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_wsi_mux_move_child_to_tail
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1560
      functionLinenumberEnd: 1578
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          54
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_add_tail
        - lws_dll2_get_head
        - lws_dll2_remove
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1564,9'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/wsi.c:1570,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi.c:1571,2'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_wsi_mux_mark_parents_needing_writeable
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1537
      functionLinenumberEnd: 1551
      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:1546,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1546,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1546,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_wsi_mux_dump_waiting_children
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1520
      functionLinenumberEnd: 1535
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          90
      EdgeCount:       12
      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:1522,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1522,2'
          Dst:             _lws_log
        - Src:             'lib/core-net/wsi.c:1527,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1527,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1527,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_wsi_mux_sibling_disconnect
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1508
      functionLinenumberEnd: 1518
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log_cx
        - lws_dll2_remove
        - lws_log_prepend_wsi
        - lws_wsi_tag
        - lwsl_wsi_get_cx
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1513,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi.c:1514,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1514,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1514,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1514,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_wsi_mux_close_children
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1491
      functionLinenumberEnd: 1506
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          80
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - __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:1500,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1500,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1500,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1502,3'
          Dst:             __lws_close_free_wsi
    - functionName:    lws_wsi_mux_dump_children
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1473
      functionLinenumberEnd: 1489
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          82
      EdgeCount:       16
      CyclomaticComplexity: 5
      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:1484,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1484,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1484,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1484,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_wsi_mux_from_id
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1462
      functionLinenumberEnd: 1471
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          54
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_wsi_mux_insert
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1437
      functionLinenumberEnd: 1460
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          92
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_dll2_add_head
        - lws_log_prepend_wsi
        - lws_wsi_tag
        - lwsl_wsi_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1438,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1438,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1438,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1438,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1442,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1459,2'
          Dst:             lws_dll2_add_head
    - functionName:    lws_wsi_client_stash_item
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1397
      functionLinenumberEnd: 1408
      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:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1404,9'
          Dst:             lws_hdr_simple_ptr
    - functionName:    lws_http_mark_sse
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1381
      functionLinenumberEnd: 1392
      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:1385,2'
          Dst:             lws_http_headers_detach
        - Src:             'lib/core-net/wsi.c:1386,2'
          Dst:             lws_mux_mark_immortal
    - functionName:    lws_mux_mark_immortal
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1349
      functionLinenumberEnd: 1379
      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:1352,2'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/wsi.c:1367,9'
          Dst:             lws_get_network_wsi
        - Src:             'lib/core-net/wsi.c:1371,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1371,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1371,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1371,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1375,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1378,3'
          Dst:             lws_set_timeout
    - functionName:    lws_wsi_keepalive_timeout_eff
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1411
      functionLinenumberEnd: 1431
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          82
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_http_close_immortal
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1326
      functionLinenumberEnd: 1347
      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:1332,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1335,9'
          Dst:             lws_get_network_wsi
        - Src:             'lib/core-net/wsi.c:1336,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1336,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1336,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1336,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1338,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1346,5'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/core-net/wsi.c:1345,3'
          Dst:             lws_set_timeout
    - functionName:    lws_bind_protocol
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1272
      functionLinenumberEnd: 1324
      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:1284,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/wsi.c:1286,2'
          Dst:             lws_same_vh_protocol_remove
        - Src:             'lib/core-net/wsi.c:1292,6'
          Dst:             lws_ensure_user_space
        - Src:             'lib/core-net/wsi.c:1296,3'
          Dst:             lws_same_vh_protocol_insert
        - Src:             'lib/core-net/wsi.c:1304,32'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:1306,5'
          Dst:             lws_same_vh_protocol_insert
        - Src:             'lib/core-net/wsi.c:1312,4'
          Dst:             _lws_log
    - functionName:    lws_ensure_user_space
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 530
      functionLinenumberEnd: 555
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          114
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lws_zalloc
        - lwsl_wsi_get_cx
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:544,22'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/wsi.c:546,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:546,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:546,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:551,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:551,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:551,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_raw_transaction_completed
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1250
      functionLinenumberEnd: 1269
      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:1251,6'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/wsi.c:1261,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1261,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1261,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1263,3'
          Dst:             lws_callback_on_writable
    - functionName:    lws_has_buffered_out
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 582
      functionLinenumberEnd: 631
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          58
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
        - lws_get_network_wsi
        - lws_wsi_tag
      functionUses:    23
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:584,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:584,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/wsi.c:590,22'
          Dst:             lws_get_network_wsi
        - Src:             'lib/core-net/wsi.c:593,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:593,4'
          Dst:             _lws_log
    - functionName:    _lws_generic_transaction_completed_active_conn
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1088
      functionLinenumberEnd: 1247
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         42
      ICount:          327
      EdgeCount:       52
      CyclomaticComplexity: 12
      functionsReached:
        - __assert_fail
        - __insert_wsi_socket_into_fds
        - __lws_change_pollfd
        - __lws_wsi_remove_from_sul
        - __remove_wsi_socket_from_fds
        - _lws_log_cx
        - lws_dll2_add_tail
        - lws_dll2_is_detached
        - lws_dll2_remove
        - lws_log_prepend_wsi
        - lws_set_timeout
        - lws_wsi_tag
        - lwsi_set_state
        - lwsl_wsi_get_cx
        - sanity_assert_no_sockfd_traces
        - sanity_assert_no_wsi_traces
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1098,6'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/wsi.c:1121,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1121,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1121,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1122,3'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/wsi.c:1124,3'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/wsi.c:1140,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1142,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi.c:1144,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1146,2'
          Dst:             __lws_change_pollfd
        - Src:             'lib/core-net/wsi.c:1151,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1155,6'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/wsi.c:1158,2'
          Dst:             sanity_assert_no_wsi_traces
        - Src:             'lib/core-net/wsi.c:1159,2'
          Dst:             sanity_assert_no_sockfd_traces
        - Src:             'lib/core-net/wsi.c:1162,2'
          Dst:             __lws_wsi_remove_from_sul
        - Src:             'lib/core-net/wsi.c:1180,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1182,6'
          Dst:             __insert_wsi_socket_into_fds
        - Src:             'lib/core-net/wsi.c:1212,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi.c:1213,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/wsi.c:1222,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi.c:1223,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/wsi.c:1237,2'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/wsi.c:1242,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1242,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1242,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1242,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_get_context
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1075
      functionLinenumberEnd: 1076
      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: 1072
      functionLinenumberEnd: 1072
      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: 1067
      functionLinenumberEnd: 1068
      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: 1065
      functionLinenumberEnd: 1065
      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: 1063
      functionLinenumberEnd: 1063
      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: 1057
      functionLinenumberEnd: 1061
      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: 1053
      functionLinenumberEnd: 1054
      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: 1051
      functionLinenumberEnd: 1051
      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: 1049
      functionLinenumberEnd: 1049
      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: 1047
      functionLinenumberEnd: 1047
      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: 1043
      functionLinenumberEnd: 1045
      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: 1039
      functionLinenumberEnd: 1040
      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: 1035
      functionLinenumberEnd: 1037
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_opaque_user_data
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1031
      functionLinenumberEnd: 1032
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_set_opaque_parent_data
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1027
      functionLinenumberEnd: 1029
      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: 1023
      functionLinenumberEnd: 1024
      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: 1021
      functionLinenumberEnd: 1021
      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: 1019
      functionLinenumberEnd: 1019
      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: 1011
      functionLinenumberEnd: 1017
      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:1013,3'
          Dst:             lws_realloc
    - functionName:    lws_wsi_tsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1009
      functionLinenumberEnd: 1009
      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: 1007
      functionLinenumberEnd: 1007
      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: 977
      functionLinenumberEnd: 1004
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          124
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_pmo_get_str
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 968
      functionLinenumberEnd: 973
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_pvo_get_str
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:972,9'
          Dst:             lws_pvo_get_str
    - functionName:    lws_pvo_get_str
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 944
      functionLinenumberEnd: 954
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_pvo_search
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:946,3'
          Dst:             lws_pvo_search
    - functionName:    lws_pvo_search
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 932
      functionLinenumberEnd: 940
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          43
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:934,8'
          Dst:             strcmp
    - functionName:    lws_pmo_search
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 958
      functionLinenumberEnd: 963
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_pvo_search
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:962,9'
          Dst:             lws_pvo_search
    - functionName:    lws_is_cgi
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 922
      functionLinenumberEnd: 926
      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: 917
      functionLinenumberEnd: 918
      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: 904
      functionLinenumberEnd: 913
      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: 888
      functionLinenumberEnd: 891
      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:889,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: 856
      functionLinenumberEnd: 885
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          163
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - lws_hdr_copy_fragment
        - strlen
        - strncmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:857,32'
          Dst:             strlen
        - Src:             'lib/core-net/wsi.c:860,13'
          Dst:             lws_hdr_copy_fragment
        - Src:             'lib/core-net/wsi.c:866,44'
          Dst:             strncmp
    - functionName:    lws_parse_uri_destroy
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 846
      functionLinenumberEnd: 851
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_realloc
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:848,3'
          Dst:             lws_realloc
    - functionName:    lws_parse_uri_create
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 751
      functionLinenumberEnd: 842
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         87
      ICount:          576
      EdgeCount:       116
      CyclomaticComplexity: 31
      functionsReached:
        - atoi
        - lws_strncpy
        - lws_zalloc
        - strcmp
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:753,17'
          Dst:             strlen
        - Src:             'lib/core-net/wsi.c:759,6'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/wsi.c:774,3'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/wsi.c:786,8'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:786,38'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:788,13'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:788,44'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:799,4'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/wsi.c:804,4'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/wsi.c:811,3'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/wsi.c:817,23'
          Dst:             atoi
        - Src:             'lib/core-net/wsi.c:830,5'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/wsi.c:832,5'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/wsi.c:836,4'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/wsi.c:839,3'
          Dst:             lws_strncpy
    - 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:    0
      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: 672
      functionLinenumberEnd: 678
      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: 670
      functionLinenumberEnd: 670
      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:670,52'
          Dst:             lws_has_buffered_out
    - functionName:    lws_has_unsent_buffered_out
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 633
      functionLinenumberEnd: 668
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          52
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - lws_get_network_wsi
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:639,22'
          Dst:             lws_get_network_wsi
    - functionName:    lws_get_ssl
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 579
      functionLinenumberEnd: 579
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_is_ssl
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 569
      functionLinenumberEnd: 571
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_tsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 567
      functionLinenumberEnd: 567
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_adjust_protocol_psds
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 557
      functionLinenumberEnd: 565
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_ensure_user_space
        - lws_get_protocol
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:558,27'
          Dst:             lws_get_protocol
        - Src:             'lib/core-net/wsi.c:561,6'
          Dst:             lws_ensure_user_space
    - functionName:    lws_get_protocol
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 526
      functionLinenumberEnd: 527
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_rx_flow_allow_all_protocol
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 444
      functionLinenumberEnd: 460
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          125
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - lws_rx_flow_control
        - strcmp
        - wsi_from_fd
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:451,10'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/wsi.c:455,7'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:456,5'
          Dst:             lws_rx_flow_control
    - functionName:    lws_rx_flow_control
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 391
      functionLinenumberEnd: 441
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         28
      ICount:          227
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - __lws_rx_flow_control
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:400,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:400,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:400,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:426,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:426,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:426,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:431,8'
          Dst:             __lws_rx_flow_control
    - functionName:    lws_callback_vhost_protocols_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 367
      functionLinenumberEnd: 389
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          103
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - lws_realloc
        - lws_vhost_bind_wsi
        - lws_zalloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:369,20'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/wsi.c:375,2'
          Dst:             lws_vhost_bind_wsi
        - Src:             'lib/core-net/wsi.c:381,4'
          Dst:             lws_realloc
        - Src:             'lib/core-net/wsi.c:386,2'
          Dst:             lws_realloc
    - functionName:    lws_vhost_bind_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          110
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:73,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:73,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:73,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:77,2'
          Dst:             __assert_fail
    - functionName:    lws_wsi_extract_from_loop
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 350
      functionLinenumberEnd: 364
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          108
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - __remove_wsi_socket_from_fds
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:352,3'
          Dst:             __remove_wsi_socket_from_fds
    - functionName:    lws_wsi_inject_to_loop
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 324
      functionLinenumberEnd: 342
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          75
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - __insert_wsi_socket_into_fds
        - lws_dll2_remove
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:333,6'
          Dst:             __insert_wsi_socket_into_fds
        - Src:             'lib/core-net/wsi.c:336,2'
          Dst:             lws_dll2_remove
    - functionName:    lws_role_transition
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 682
      functionLinenumberEnd: 695
      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:    22
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:692,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:692,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:692,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    __lws_wsi_create_with_role
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 267
      functionLinenumberEnd: 322
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          129
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_dll2_add_head
        - lws_log_prepend_context
        - lws_role_transition
        - lws_zalloc
        - lwsl_context_get_cx
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:272,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:280,8'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/wsi.c:283,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/wsi.c:283,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:283,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/wsi.c:296,2'
          Dst:             lws_role_transition
        - Src:             'lib/core-net/wsi.c:318,2'
          Dst:             lws_dll2_add_head
    - functionName:    lws_callback_vhost_protocols
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 226
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          73
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_callback_all_protocol_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 212
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_callback_all_protocol_vhost_args
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:213,9'
          Dst:             lws_callback_all_protocol_vhost_args
    - functionName:    lws_callback_all_protocol_vhost_args
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          168
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - strcmp
        - wsi_from_fd
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:192,10'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/wsi.c:198,6'
          Dst:             strcmp
    - functionName:    lws_evlib_tsi_to_evlib_pt
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 176
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_evlib_wsi_to_evlib_pt
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          22
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_callback_all_protocol
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          136
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - strcmp
        - wsi_from_fd
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:156,10'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/wsi.c:160,7'
          Dst:             strcmp
    - functionName:    lws_vhost_name_to_protocol
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          82
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - strcmp
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:141,33'
          Dst:             strcmp
    - functionName:    __lws_vhost_unbind_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          93
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - __lws_vhost_destroy2
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:91,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:99,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:99,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:99,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:112,3'
          Dst:             __lws_vhost_destroy2
    - functionName:    lwsi_set_role
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 38
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          32
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:37,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:37,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:37,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_validity_confirmed
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 309
      functionLinenumberEnd: 319
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          83
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_validity_cb
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 225
      functionLinenumberEnd: 273
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          257
      EdgeCount:       33
      CyclomaticComplexity: 9
      functionsReached:
        - __assert_fail
        - __lws_close_free_wsi
        - __lws_sul_insert
        - _lws_log_cx
        - lws_get_peer_simple
        - lws_log_prepend_wsi
        - lws_now_usecs
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:235,3'
          Dst:             lws_get_peer_simple
        - Src:             'lib/core-net/wsi-timeout.c:237,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:237,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:237,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:245,3'
          Dst:             __lws_close_free_wsi
        - Src:             'lib/core-net/wsi-timeout.c:254,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:254,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:254,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:266,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi-timeout.c:269,2'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/wsi-timeout.c:269,2'
          Dst:             __lws_sul_insert
    - functionName:    _lws_validity_confirmed_role
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 282
      functionLinenumberEnd: 305
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          169
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - __lws_sul_insert
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lws_now_usecs
        - lwsl_wsi_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:295,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:295,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:295,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:300,2'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/wsi-timeout.c:300,2'
          Dst:             __lws_sul_insert
    - functionName:    lws_set_timeout_us
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 202
      functionLinenumberEnd: 221
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          74
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __lws_sul_insert
        - _lws_log_cx
        - lws_dll2_remove
        - lws_log_prepend_wsi
        - lws_now_usecs
        - lwsl_wsi_get_cx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:206,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi-timeout.c:213,2'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/wsi-timeout.c:213,2'
          Dst:             __lws_sul_insert
        - Src:             'lib/core-net/wsi-timeout.c:216,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:216,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:216,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_set_timeout
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 198
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          161
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - __lws_set_timeout
        - _lws_log_cx
        - lws_close_free_wsi
        - lws_dll2_remove
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    64
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:165,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi-timeout.c:172,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:172,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:172,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:174,3'
          Dst:             lws_close_free_wsi
        - Src:             'lib/core-net/wsi-timeout.c:184,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:184,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:184,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:190,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:190,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:190,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:193,2'
          Dst:             __lws_set_timeout
    - functionName:    __lws_set_timeout
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          100
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - __lws_sul_insert
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lws_now_usecs
        - lwsl_wsi_get_cx
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:144,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:144,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:144,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:149,2'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/wsi-timeout.c:149,2'
          Dst:             __lws_sul_insert
        - Src:             'lib/core-net/wsi-timeout.c:153,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:153,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:153,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_sul_wsitimeout_cb
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          130
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - __lws_close_free_wsi
        - _lws_log_cx
        - lws_inform_client_conn_fail
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:98,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:98,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:98,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:123,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/wsi-timeout.c:126,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/wsi-timeout.c:132,2'
          Dst:             __lws_close_free_wsi
    - functionName:    lws_set_timer_usecs
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __lws_set_timer_usecs
        - lws_sul_cancel
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:78,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/wsi-timeout.c:80,3'
          Dst:             __lws_set_timer_usecs
    - functionName:    __lws_set_timer_usecs
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          45
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_sul_insert
        - lws_now_usecs
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:70,2'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/wsi-timeout.c:70,2'
          Dst:             __lws_sul_insert
    - functionName:    lws_sul_hrtimer_cb
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 62
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - __lws_close_free_wsi
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:60,3'
          Dst:             __lws_close_free_wsi
    - functionName:    __lws_wsi_remove_from_sul
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_sul_cancel
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:30,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/wsi-timeout.c:31,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/wsi-timeout.c:32,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/wsi-timeout.c:33,2'
          Dst:             lws_sul_cancel
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_adopt_socket_vhost_readbuf
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1278
      functionLinenumberEnd: 1280
      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:1279,37'
          Dst:             lws_adopt_socket_vhost
        - Src:             'lib/core-net/adopt.c:1279,16'
          Dst:             adopt_socket_readbuf
    - functionName:    lws_adopt_socket_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 629
      functionLinenumberEnd: 633
      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:633,9'
          Dst:             lws_adopt_descriptor_vhost
    - functionName:    adopt_socket_readbuf
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 646
      functionLinenumberEnd: 711
      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:664,6'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core-net/adopt.c:669,3'
          Dst:             lws_dll2_add_head
        - Src:             'lib/core-net/adopt.c:682,23'
          Dst:             lws_header_table_attach
        - Src:             'lib/core-net/adopt.c:684,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:694,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:695,7'
          Dst:             lws_service_fd_tsi
        - Src:             'lib/core-net/adopt.c:702,2'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:707,2'
          Dst:             lws_close_free_wsi
    - functionName:    lws_adopt_descriptor_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 520
      functionLinenumberEnd: 531
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          39
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_adopt_descriptor_vhost_via_info
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/adopt.c:531,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: 536
      functionLinenumberEnd: 624
      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:567,12'
          Dst:             __lws_adopt_descriptor_vhost1
        - Src:             'lib/core-net/adopt.c:581,4'
          Dst:             close
        - Src:             'lib/core-net/adopt.c:590,6'
          Dst:             getpeername
        - Src:             'lib/core-net/adopt.c:592,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:611,12'
          Dst:             lws_adopt_descriptor_vhost2
    - functionName:    __lws_adopt_descriptor_vhost1
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 243
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          337
      EdgeCount:       60
      CyclomaticComplexity: 17
      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
        - strcmp
      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,9'
          Dst:             strcmp
        - Src:             'lib/core-net/adopt.c:176,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/adopt.c:176,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:176,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/adopt.c:181,7'
          Dst:             lws_ensure_user_space
        - Src:             'lib/core-net/adopt.c:182,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:182,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:182,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:191,6'
          Dst:             lws_role_call_adoption_bind
        - Src:             'lib/core-net/adopt.c:192,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:192,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:192,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:209,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/adopt.c:218,2'
          Dst:             lws_dll2_add_head
        - Src:             'lib/core-net/adopt.c:226,9'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/adopt.c:229,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:229,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:229,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:233,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/adopt.c:238,2'
          Dst:             __lws_vhost_unbind_wsi
        - Src:             'lib/core-net/adopt.c:240,2'
          Dst:             lws_realloc
    - functionName:    lws_adopt_descriptor_vhost2
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 370
      functionLinenumberEnd: 511
      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:378,7'
          Dst:             lws_plat_set_nonblocking
        - Src:             'lib/core-net/adopt.c:379,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:379,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:379,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:386,7'
          Dst:             lws_plat_set_nonblocking
        - Src:             'lib/core-net/adopt.c:387,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:387,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:387,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:414,29'
          Dst:             lws_get_network_wsi
        - Src:             'lib/core-net/adopt.c:418,18'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/adopt.c:420,18'
          Dst:             strncpy
        - Src:             'lib/core-net/adopt.c:421,3'
          Dst:             __lws_lc_tag_append
        - Src:             'lib/core-net/adopt.c:435,7'
          Dst:             __insert_wsi_socket_into_fds
        - Src:             'lib/core-net/adopt.c:437,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:437,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:437,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:447,7'
          Dst:             lws_server_socket_service_ssl
        - Src:             'lib/core-net/adopt.c:448,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:448,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:448,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:464,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/adopt.c:477,2'
          Dst:             lws_role_call_adoption_bind
        - Src:             'lib/core-net/adopt.c:489,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:489,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:489,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:491,6'
          Dst:             lws_adopt_ss_server_accept
        - Src:             'lib/core-net/adopt.c:501,2'
          Dst:             lws_cancel_service_pt
        - Src:             'lib/core-net/adopt.c:507,3'
          Dst:             lws_close_free_wsi
    - functionName:    lws_adopt_ss_server_accept
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 265
      functionLinenumberEnd: 362
      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:293,6'
          Dst:             lws_ss_create
        - Src:             'lib/core-net/adopt.c:296,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:296,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:296,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:319,6'
          Dst:             lws_plat_set_socket_options_ip
        - Src:             'lib/core-net/adopt.c:329,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:329,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:329,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:336,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/adopt.c:343,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/core-net/adopt.c:345,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/core-net/adopt.c:359,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: 1269
      functionLinenumberEnd: 1271
      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:1270,37'
          Dst:             lws_adopt_socket
        - Src:             'lib/core-net/adopt.c:1270,16'
          Dst:             adopt_socket_readbuf
    - functionName:    lws_adopt_socket
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 639
      functionLinenumberEnd: 640
      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:640,9'
          Dst:             lws_adopt_socket_vhost
    - functionName:    lws_create_adopt_udp2
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 724
      functionLinenumberEnd: 965
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         97
      ICount:          621
      EdgeCount:       130
      CyclomaticComplexity: 35
      functionsReached:
        - __assert_fail
        - __errno_location
        - _lws_log
        - _lws_log_cx
        - bind
        - close
        - connect
        - freeaddrinfo
        - htons
        - lws_addrinfo_clean
        - lws_adopt_descriptor_vhost2
        - lws_close_free_wsi
        - lws_dll2_add_tail
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_log_prepend_vhost
        - lws_log_prepend_wsi
        - lws_plat_BINDTODEVICE
        - lws_plat_apply_FD_CLOEXEC
        - lws_plat_set_nonblocking
        - lws_realloc
        - lws_sa46_is_ipv4_mapped
        - lws_sort_dns
        - lws_zalloc
        - lwsl_vhost_get_cx
        - lwsl_wsi_get_cx
        - setsockopt
        - socket
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/adopt.c:728,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/adopt.c:735,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:741,7'
          Dst:             lws_sort_dns
        - Src:             'lib/core-net/adopt.c:745,3'
          Dst:             freeaddrinfo
        - Src:             'lib/core-net/adopt.c:755,23'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/adopt.c:781,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/adopt.c:784,9'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/adopt.c:785,23'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/adopt.c:793,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/adopt.c:813,6'
          Dst:             htons
        - Src:             'lib/core-net/adopt.c:810,17'
          Dst:             socket
        - Src:             'lib/core-net/adopt.c:820,8'
          Dst:             setsockopt
        - Src:             'lib/core-net/adopt.c:821,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:821,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:821,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:823,8'
          Dst:             setsockopt
        - Src:             'lib/core-net/adopt.c:824,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/adopt.c:824,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:824,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/adopt.c:828,7'
          Dst:             lws_plat_apply_FD_CLOEXEC
        - Src:             'lib/core-net/adopt.c:829,7'
          Dst:             lws_plat_set_nonblocking
        - Src:             'lib/core-net/adopt.c:830,4'
          Dst:             close
        - Src:             'lib/core-net/adopt.c:852,8'
          Dst:             lws_sa46_is_ipv4_mapped
        - Src:             'lib/core-net/adopt.c:857,8'
          Dst:             setsockopt
        - Src:             'lib/core-net/adopt.c:859,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/adopt.c:859,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:859,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/adopt.c:868,27'
          Dst:             htons
        - Src:             'lib/core-net/adopt.c:874,28'
          Dst:             htons
        - Src:             'lib/core-net/adopt.c:877,7'
          Dst:             setsockopt
        - Src:             'lib/core-net/adopt.c:879,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:882,7'
          Dst:             setsockopt
        - Src:             'lib/core-net/adopt.c:884,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:889,7'
          Dst:             lws_plat_BINDTODEVICE
        - Src:             'lib/core-net/adopt.c:890,4'
          Dst:             close
        - Src:             'lib/core-net/adopt.c:896,7'
          Dst:             bind
        - Src:             'lib/core-net/adopt.c:902,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:903,4'
          Dst:             close
        - Src:             'lib/core-net/adopt.c:910,8'
          Dst:             connect
        - Src:             'lib/core-net/adopt.c:912,8'
          Dst:             __errno_location
        - Src:             'lib/core-net/adopt.c:913,5'
          Dst:             __errno_location
        - Src:             'lib/core-net/adopt.c:913,5'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:918,5'
          Dst:             close
        - Src:             'lib/core-net/adopt.c:940,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/adopt.c:941,3'
          Dst:             lws_addrinfo_clean
        - Src:             'lib/core-net/adopt.c:942,10'
          Dst:             lws_adopt_descriptor_vhost2
        - Src:             'lib/core-net/adopt.c:946,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/adopt.c:949,2'
          Dst:             __errno_location
        - Src:             'lib/core-net/adopt.c:949,2'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:950,2'
          Dst:             lws_addrinfo_clean
        - Src:             'lib/core-net/adopt.c:962,2'
          Dst:             lws_close_free_wsi
    - functionName:    freeaddrinfo
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    socket
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    connect
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_create_adopt_udp
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1129
      functionLinenumberEnd: 1263
      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:         19
      ICount:          244
      EdgeCount:       24
      CyclomaticComplexity: 7
      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:1134,2'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:1140,8'
          Dst:             __lws_adopt_descriptor_vhost1
        - Src:             'lib/core-net/adopt.c:1147,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:1184,3'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/adopt.c:1185,7'
          Dst:             getaddrinfo
        - Src:             'lib/core-net/adopt.c:1188,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/adopt.c:1188,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:1188,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/adopt.c:1204,9'
          Dst:             lws_create_adopt_udp2
        - Src:             'lib/core-net/adopt.c:1255,2'
          Dst:             lws_close_free_wsi
    - functionName:    getaddrinfo
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rops_handle_POLLIN_pipe
      functionSourceFile: '/src/libwebsockets/lib/roles/pipe/ops-pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 218
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          60
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - _lws_log
        - eventfd_read
        - lws_broadcast
        - lws_dll2_foreach_safe
        - lws_ss_cancel_notify_dll
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/pipe/ops-pipe.c:38,6'
          Dst:             eventfd_read
        - Src:             'lib/roles/pipe/ops-pipe.c:40,3'
          Dst:             __errno_location
        - Src:             'lib/roles/pipe/ops-pipe.c:40,3'
          Dst:             _lws_log
        - Src:             'lib/roles/pipe/ops-pipe.c:192,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/roles/pipe/ops-pipe.c:192,2'
          Dst:             lws_ss_cancel_notify_dll
        - Src:             'lib/roles/pipe/ops-pipe.c:204,6'
          Dst:             lws_broadcast
        - Src:             'lib/roles/pipe/ops-pipe.c:205,3'
          Dst:             _lws_log
    - functionName:    eventfd_read
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_async_ipc_timeout_cb
      functionSourceFile: '/src/libwebsockets/lib/core-net/async-ipc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          120
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log
        - lws_dll2_remove
        - lws_realloc
        - lws_set_timeout
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/async-ipc.c:55,2'
          Dst:             _lws_log
        - Src:             'lib/core-net/async-ipc.c:60,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/async-ipc.c:61,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/async-ipc.c:65,3'
          Dst:             lws_set_timeout
    - functionName:    lws_async_ipc_connect
      functionSourceFile: '/src/libwebsockets/lib/core-net/async-ipc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 236
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          126
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - lws_async_ipc_timeout_cb
        - lws_client_connect_via_info
        - lws_get_vhost_by_name
        - lws_sul_cancel
        - lws_sul_schedule
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/async-ipc.c:217,21'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/core-net/async-ipc.c:226,2'
          Dst:             lws_sul_schedule
        - Src:             'lib/core-net/async-ipc.c:226,2'
          Dst:             lws_async_ipc_timeout_cb
        - Src:             'lib/core-net/async-ipc.c:228,13'
          Dst:             lws_client_connect_via_info
        - Src:             'lib/core-net/async-ipc.c:231,3'
          Dst:             lws_sul_cancel
    - functionName:    lws_async_ipc_queue_payload
      functionSourceFile: '/src/libwebsockets/lib/core-net/async-ipc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 311
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          70
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_async_ipc_connect
        - lws_callback_on_writable
        - lws_dll2_add_tail
        - lws_realloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/async-ipc.c:295,34'
          Dst:             lws_realloc
        - Src:             'lib/core-net/async-ipc.c:303,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/async-ipc.c:306,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/async-ipc.c:308,3'
          Dst:             lws_async_ipc_connect
    - functionName:    lws_async_ipc_destroy
      functionSourceFile: '/src/libwebsockets/lib/core-net/async-ipc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 258
      functionLinenumberEnd: 289
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          128
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - lws_dll2_remove
        - lws_realloc
        - lws_set_timeout
        - lws_sul_cancel
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/async-ipc.c:264,3'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/async-ipc.c:268,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/async-ipc.c:272,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/async-ipc.c:273,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/async-ipc.c:287,2'
          Dst:             lws_realloc
    - functionName:    lws_async_ipc_create
      functionSourceFile: '/src/libwebsockets/lib/core-net/async-ipc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 254
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          101
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - lws_snprintf
        - lws_strncpy
        - lws_zalloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/async-ipc.c:241,30'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/async-ipc.c:247,3'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/async-ipc.c:249,3'
          Dst:             lws_strncpy
    - functionName:    callback_async_ipc
      functionSourceFile: '/src/libwebsockets/lib/core-net/async-ipc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 193
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         69
      ICount:          415
      EdgeCount:       85
      CyclomaticComplexity: 18
      functionsReached:
        - _lws_log
        - lws_async_ipc_timeout_cb
        - lws_callback_http_dummy
        - lws_callback_on_writable
        - lws_dll2_remove
        - lws_realloc
        - lws_sul_cancel
        - lws_sul_schedule
        - lws_write
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/core-net/async-ipc.c:97,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/async-ipc.c:99,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/async-ipc.c:103,4'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/async-ipc.c:108,5'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/async-ipc.c:109,5'
          Dst:             lws_realloc
        - Src:             'lib/core-net/async-ipc.c:121,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/async-ipc.c:124,4'
          Dst:             lws_sul_schedule
        - Src:             'lib/core-net/async-ipc.c:124,4'
          Dst:             lws_async_ipc_timeout_cb
        - Src:             'lib/core-net/async-ipc.c:125,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/async-ipc.c:138,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/async-ipc.c:143,19'
          Dst:             lws_realloc
        - Src:             'lib/core-net/async-ipc.c:146,13'
          Dst:             lws_write
        - Src:             'lib/core-net/async-ipc.c:147,5'
          Dst:             lws_realloc
        - Src:             'lib/core-net/async-ipc.c:150,6'
          Dst:             _lws_log
        - Src:             'lib/core-net/async-ipc.c:154,5'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/async-ipc.c:155,5'
          Dst:             lws_realloc
        - Src:             'lib/core-net/async-ipc.c:158,5'
          Dst:             lws_sul_schedule
        - Src:             'lib/core-net/async-ipc.c:158,5'
          Dst:             lws_async_ipc_timeout_cb
        - Src:             'lib/core-net/async-ipc.c:162,5'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/async-ipc.c:168,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/async-ipc.c:171,4'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/async-ipc.c:184,4'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/async-ipc.c:192,9'
          Dst:             lws_callback_http_dummy
    - functionName:    _report
      functionSourceFile: '/src/libwebsockets/lib/core-net/state.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          88
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log_cx
        - _systnm
        - lws_log_prepend_context
        - lwsl_context_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/state.c:77,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/state.c:77,4'
          Dst:             _systnm
        - Src:             'lib/core-net/state.c:77,4'
          Dst:             _systnm
        - Src:             'lib/core-net/state.c:77,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/state.c:77,4'
          Dst:             lws_log_prepend_context
    - functionName:    _systnm
      functionSourceFile: '/src/libwebsockets/lib/core-net/state.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_snprintf
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/state.c:54,3'
          Dst:             lws_snprintf
    - functionName:    lws_state_transition
      functionSourceFile: '/src/libwebsockets/lib/core-net/state.c'
      linkageType:     InternalLinkage
      functionLinenumber: 148
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_state_transition
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/state.c:150,3'
          Dst:             _lws_state_transition
    - functionName:    _lws_state_transition
      functionSourceFile: '/src/libwebsockets/lib/core-net/state.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          117
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log_cx
        - _report
        - _systnm
        - lws_log_prepend_context
        - lws_smd_msg_printf
        - lwsl_context_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/state.c:98,6'
          Dst:             _report
        - Src:             'lib/core-net/state.c:103,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/state.c:103,2'
          Dst:             _systnm
        - Src:             'lib/core-net/state.c:103,2'
          Dst:             _systnm
        - Src:             'lib/core-net/state.c:103,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/state.c:103,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/state.c:111,2'
          Dst:             _report
        - Src:             'lib/core-net/state.c:115,9'
          Dst:             lws_smd_msg_printf
    - functionName:    lws_state_transition_steps
      functionSourceFile: '/src/libwebsockets/lib/core-net/state.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          92
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log_cx
        - _lws_state_transition
        - _systnm
        - lws_log_prepend_context
        - lwsl_context_get_cx
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/state.c:136,7'
          Dst:             _lws_state_transition
        - Src:             'lib/core-net/state.c:139,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/state.c:139,2'
          Dst:             _systnm
        - Src:             'lib/core-net/state.c:139,2'
          Dst:             _systnm
        - Src:             'lib/core-net/state.c:139,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/state.c:139,2'
          Dst:             lws_log_prepend_context
    - functionName:    lws_state_reg_notifier_list
      functionSourceFile: '/src/libwebsockets/lib/core-net/state.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          41
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_state_reg_notifier
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/state.c:46,4'
          Dst:             lws_state_reg_notifier
    - functionName:    lws_state_reg_notifier
      functionSourceFile: '/src/libwebsockets/lib/core-net/state.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 32
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_add_head
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/state.c:31,2'
          Dst:             lws_dll2_add_head
    - functionName:    lws_state_reg_deregister
      functionSourceFile: '/src/libwebsockets/lib/core-net/state.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 38
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_remove
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/state.c:37,2'
          Dst:             lws_dll2_remove
    - functionName:    lws_set_proxy
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          243
      EdgeCount:       44
      CyclomaticComplexity: 13
      functionsReached:
        - _lws_log_cx
        - atoi
        - lws_b64_encode_string
        - lws_log_prepend_vhost
        - lws_strncpy
        - lwsl_vhost_get_cx
        - strchr
        - strncmp
        - strrchr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/client.c:42,7'
          Dst:             strncmp
        - Src:             'lib/core-net/client/client.c:45,14'
          Dst:             strrchr
        - Src:             'lib/core-net/client/client.c:51,3'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/client/client.c:53,7'
          Dst:             lws_b64_encode_string
        - Src:             'lib/core-net/client/client.c:58,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/client/client.c:58,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/client.c:58,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/client/client.c:82,2'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/client/client.c:93,17'
          Dst:             strchr
        - Src:             'lib/core-net/client/client.c:95,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/client/client.c:95,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/client.c:95,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/client/client.c:103,14'
          Dst:             strchr
        - Src:             'lib/core-net/client/client.c:105,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/client/client.c:105,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/client.c:105,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/client/client.c:110,47'
          Dst:             atoi
        - Src:             'lib/core-net/client/client.c:113,2'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/client/client.c:113,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/client.c:113,2'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/client/client.c:120,2'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/client/client.c:120,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/client.c:120,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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_client_connect_via_info
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 599
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         161
      ICount:          1360
      EdgeCount:       214
      CyclomaticComplexity: 55
      functionsReached:
        - __assert_fail
        - __lws_lc_tag
        - __lws_wsi_create_with_role
        - _lws_log_cx
        - lws_bind_protocol
        - lws_client_create_tls
        - lws_client_stash_create
        - lws_close_free_wsi
        - lws_dll2_remove
        - lws_get_vhost_by_name
        - lws_http_client_connect_via_info2
        - lws_log_prepend_context
        - lws_log_prepend_wsi
        - lws_protocol_init
        - lws_pthread_self_to_tsi
        - lws_realloc
        - lws_role_call_client_bind
        - lws_snprintf
        - lws_ss_tag
        - lws_strncpy
        - lws_tls_restrict_return
        - lws_vhost_bind_wsi
        - lws_vhost_name_to_protocol
        - lws_wsi_tag
        - lwsl_context_get_cx
        - lwsl_wsi_get_cx
        - strcmp
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/core-net/client/connect.c:545,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/client/connect.c:156,7'
          Dst:             lws_protocol_init
        - Src:             'lib/core-net/client/connect.c:171,8'
          Dst:             lws_pthread_self_to_tsi
        - Src:             'lib/core-net/client/connect.c:172,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/client/connect.c:176,8'
          Dst:             __lws_wsi_create_with_role
        - Src:             'lib/core-net/client/connect.c:187,9'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/core-net/client/connect.c:193,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/client/connect.c:193,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:193,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/client/connect.c:196,10'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:266,2'
          Dst:             lws_vhost_bind_wsi
        - Src:             'lib/core-net/client/connect.c:274,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:274,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:274,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:286,6'
          Dst:             lws_role_call_client_bind
        - Src:             'lib/core-net/client/connect.c:287,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:287,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:287,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:291,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:291,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:291,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:328,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:328,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:328,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:330,7'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/core-net/client/connect.c:332,4'
          Dst:             lws_bind_protocol
        - Src:             'lib/core-net/client/connect.c:334,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:334,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:334,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:336,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:336,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/client/connect.c:336,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:336,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:378,2'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect.c:398,6'
          Dst:             lws_client_stash_create
        - Src:             'lib/core-net/client/connect.c:403,3'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/client/connect.c:437,4'
          Dst:             lws_ss_tag
        - Src:             'lib/core-net/client/connect.c:417,3'
          Dst:             __lws_lc_tag
        - Src:             'lib/core-net/client/connect.c:440,3'
          Dst:             __lws_lc_tag
        - Src:             'lib/core-net/client/connect.c:454,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:454,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/client/connect.c:454,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:454,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:503,8'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:504,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:504,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:504,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:519,22'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:520,7'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:521,16'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:532,7'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:545,12'
          Dst:             lws_client_create_tls
        - Src:             'lib/core-net/client/connect.c:559,9'
          Dst:             lws_http_client_connect_via_info2
        - Src:             'lib/core-net/client/connect.c:573,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:573,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:573,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:574,2'
          Dst:             lws_close_free_wsi
        - Src:             'lib/core-net/client/connect.c:583,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/client/connect.c:587,3'
          Dst:             lws_tls_restrict_return
        - Src:             'lib/core-net/client/connect.c:590,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/client/connect.c:592,2'
          Dst:             lws_realloc
    - functionName:    lws_client_stash_create
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         28
      ICount:          186
      EdgeCount:       36
      CyclomaticComplexity: 10
      functionsReached:
        - lws_realloc
        - strlen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/connect.c:103,12'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect.c:105,14'
          Dst:             lws_realloc
        - Src:             'lib/core-net/client/connect.c:120,9'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect.c:126,3'
          Dst:             lws_realloc
    - functionName:    lws_http_client_connect_via_info2
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         36
      ICount:          202
      EdgeCount:       47
      CyclomaticComplexity: 13
      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,35'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:52,12'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:53,12'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:54,32'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:64,7'
          Dst:             lws_hdr_simple_create
        - Src:             'lib/core-net/client/connect.c:73,9'
          Dst:             lws_client_connect_2_dnsreq_MAY_CLOSE_WSI
        - Src:             'lib/core-net/client/connect.c:81,2'
          Dst:             lws_realloc
    - functionName:    lws_getaddrinfo46
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 157
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          145
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log_cx
        - getaddrinfo
        - lws_log_prepend_wsi
        - lws_now_usecs
        - lws_parse_numeric_address
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/connect2.c:88,6'
          Dst:             lws_parse_numeric_address
        - Src:             'lib/core-net/client/connect2.c:92,22'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/client/connect2.c:99,7'
          Dst:             getaddrinfo
        - Src:             'lib/core-net/client/connect2.c:103,7'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/client/connect2.c:142,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect2.c:142,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect2.c:142,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: 196
      functionLinenumberEnd: 541
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         112
      ICount:          734
      EdgeCount:       151
      CyclomaticComplexity: 41
      functionsReached:
        - _lws_is_http_method
        - _lws_log
        - _lws_log_cx
        - inet_pton
        - lws_cache_item_get
        - lws_callback_on_writable
        - lws_client_connect_3_connect
        - lws_client_connect_4_established
        - lws_close_free_wsi
        - lws_dll2_add_head
        - lws_dll2_is_detached
        - lws_getaddrinfo46
        - lws_hdr_simple_ptr
        - lws_inform_client_conn_fail
        - lws_log_prepend_wsi
        - lws_set_timeout
        - lws_snprintf
        - lws_strdup
        - lws_strncpy
        - 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:275,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/client/connect2.c:209,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect2.c:209,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect2.c:209,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect2.c:221,20'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/core-net/client/connect2.c:225,29'
          Dst:             lws_strdup
        - Src:             'lib/core-net/client/connect2.c:233,9'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/core-net/client/connect2.c:237,10'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/core-net/client/connect2.c:243,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect2.c:243,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect2.c:243,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect2.c:249,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/client/connect2.c:255,15'
          Dst:             _lws_is_http_method
        - Src:             'lib/core-net/client/connect2.c:255,44'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect2.c:256,3'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect2.c:256,26'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect2.c:275,10'
          Dst:             lws_vhost_active_conns
        - Src:             'lib/core-net/client/connect2.c:280,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect2.c:280,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect2.c:280,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect2.c:290,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/client/connect2.c:295,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect2.c:295,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect2.c:295,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect2.c:299,44'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect2.c:300,5'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect2.c:303,5'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect2.c:306,3'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/client/connect2.c:308,10'
          Dst:             lws_client_connect_4_established
        - Src:             'lib/core-net/client/connect2.c:321,16'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect2.c:321,39'
          Dst:             _lws_is_http_method
        - Src:             'lib/core-net/client/connect2.c:322,9'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect2.c:323,6'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/client/connect2.c:324,6'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/client/connect2.c:327,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect2.c:327,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect2.c:327,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect2.c:329,3'
          Dst:             lws_dll2_add_head
        - Src:             'lib/core-net/client/connect2.c:348,3'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect2.c:349,8'
          Dst:             lws_cache_item_get
        - Src:             'lib/core-net/client/connect2.c:350,4'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/client/connect2.c:351,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect2.c:351,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect2.c:351,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect2.c:425,11'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/core-net/client/connect2.c:428,6'
          Dst:             inet_pton
        - Src:             'lib/core-net/client/connect2.c:429,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect2.c:429,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect2.c:429,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect2.c:469,2'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect2.c:471,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect2.c:471,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect2.c:471,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect2.c:480,7'
          Dst:             lws_getaddrinfo46
        - Src:             'lib/core-net/client/connect2.c:490,4'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/client/connect2.c:533,9'
          Dst:             lws_client_connect_3_connect
        - Src:             'lib/core-net/client/connect2.c:537,2'
          Dst:             lws_close_free_wsi
    - functionName:    inet_pton
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    promote_parallel_fd
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 320
      functionLinenumberEnd: 324
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          35
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_client_connect_check
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 264
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          92
      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:193,7'
          Dst:             getsockopt
        - Src:             'lib/core-net/client/connect3.c:195,8'
          Dst:             __errno_location
        - Src:             'lib/core-net/client/connect3.c:197,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:197,4'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:197,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:197,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:203,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:203,3'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:203,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:203,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:260,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:260,2'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:260,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:260,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_connect_3_https_cb
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 330
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          68
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - lws_cache_write_through
        - lws_now_usecs
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/connect3.c:337,6'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/client/connect3.c:335,3'
          Dst:             lws_cache_write_through
    - functionName:    lws_remove_parallel_fd_safely
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 277
      functionLinenumberEnd: 316
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          226
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - __remove_wsi_socket_from_fds
        - close
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/connect3.c:297,2'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/client/connect3.c:301,3'
          Dst:             close
    - functionName:    lws_client_dns_retry_timeout
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 157
      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:154,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:154,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:154,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:155,7'
          Dst:             lws_client_connect_2_dnsreq_MAY_CLOSE_WSI
        - Src:             'lib/core-net/client/connect3.c:156,3'
          Dst:             _lws_log
    - functionName:    lws_client_h3_grace_cb
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         47
      ICount:          335
      EdgeCount:       63
      CyclomaticComplexity: 18
      functionsReached:
        - __remove_wsi_socket_from_fds
        - _lws_log_cx
        - close
        - lws_cache_write_through
        - lws_client_connect_3_connect
        - lws_log_prepend_wsi
        - lws_now_usecs
        - lws_role_by_name
        - lws_role_transition
        - lwsl_wsi_get_cx
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/connect3.c:81,24'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect3.c:96,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:96,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:96,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:100,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:100,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:100,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:109,6'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/client/connect3.c:107,3'
          Dst:             lws_cache_write_through
        - Src:             'lib/core-net/client/connect3.c:116,3'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/client/connect3.c:118,3'
          Dst:             close
        - Src:             'lib/core-net/client/connect3.c:127,34'
          Dst:             lws_role_by_name
        - Src:             'lib/core-net/client/connect3.c:128,15'
          Dst:             lws_role_by_name
        - Src:             'lib/core-net/client/connect3.c:130,4'
          Dst:             lws_role_transition
        - Src:             'lib/core-net/client/connect3.c:138,3'
          Dst:             lws_client_connect_3_connect
    - functionName:    lws_client_connect_3_connect
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 345
      functionLinenumberEnd: 1383
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         422
      ICount:          3114
      EdgeCount:       571
      CyclomaticComplexity: 151
      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_cache_item_get
        - lws_change_pollfd
        - lws_client_conn_wait_timeout
        - lws_client_connect_4_established
        - lws_client_connect_check
        - lws_client_dns_retry_timeout
        - lws_client_h3_grace_cb
        - lws_client_happy_eyeballs_cb
        - lws_close_free_wsi
        - lws_conmon_append_copy_new_dns_results
        - lws_dll2_get_head
        - lws_dll2_is_detached
        - lws_dll2_remove
        - lws_errno_describe
        - lws_inform_client_conn_fail
        - lws_log_prepend_wsi
        - lws_now_usecs
        - lws_plat_set_nonblocking
        - lws_plat_set_socket_options
        - lws_plat_set_socket_options_ip
        - lws_realloc
        - lws_remove_parallel_fd_safely
        - 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
        - promote_parallel_fd
        - sanity_assert_no_sockfd_traces
        - sanity_assert_no_wsi_traces
        - setsockopt
        - socket
        - strcmp
        - strlen
        - strncpy
        - user_callback_handle_rxflow
      functionUses:    8
      BranchProfiles:
        - Branch String:   'lib/core-net/client/connect3.c:480,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/client/connect3.c:377,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/client/connect3.c:381,3'
          Dst:             lws_conmon_append_copy_new_dns_results
        - Src:             'lib/core-net/client/connect3.c:384,3'
          Dst:             lws_sort_dns
        - Src:             'lib/core-net/client/connect3.c:388,3'
          Dst:             freeaddrinfo
        - Src:             'lib/core-net/client/connect3.c:403,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/client/connect3.c:410,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:410,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:410,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:417,3'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect3.c:418,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/core-net/client/connect3.c:418,3'
          Dst:             lws_client_dns_retry_timeout
        - Src:             'lib/core-net/client/connect3.c:436,40'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect3.c:480,12'
          Dst:             lws_client_connect_check
        - Src:             'lib/core-net/client/connect3.c:485,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:485,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:485,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:488,10'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/client/connect3.c:495,5'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/client/connect3.c:513,6'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/client/connect3.c:519,7'
          Dst:             close
        - Src:             'lib/core-net/client/connect3.c:521,6'
          Dst:             promote_parallel_fd
        - Src:             'lib/core-net/client/connect3.c:527,7'
          Dst:             lws_remove_parallel_fd_safely
        - Src:             'lib/core-net/client/connect3.c:540,19'
          Dst:             __errno_location
        - Src:             'lib/core-net/client/connect3.c:542,11'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:541,5'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:544,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:544,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:544,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:548,6'
          Dst:             lws_remove_parallel_fd_safely
        - Src:             'lib/core-net/client/connect3.c:552,6'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/client/connect3.c:553,6'
          Dst:             close
        - Src:             'lib/core-net/client/connect3.c:558,8'
          Dst:             promote_parallel_fd
        - Src:             'lib/core-net/client/connect3.c:594,3'
          Dst:             strncpy
        - Src:             'lib/core-net/client/connect3.c:597,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:597,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:597,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:635,6'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/client/connect3.c:638,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/client/connect3.c:643,3'
          Dst:             htons
        - Src:             'lib/core-net/client/connect3.c:643,3'
          Dst:             htons
        - Src:             'lib/core-net/client/connect3.c:648,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:648,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:648,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:651,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/client/connect3.c:653,2'
          Dst:             htons
        - Src:             'lib/core-net/client/connect3.c:653,2'
          Dst:             htons
        - Src:             'lib/core-net/client/connect3.c:684,13'
          Dst:             socket
        - Src:             'lib/core-net/client/connect3.c:692,46'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect3.c:696,13'
          Dst:             socket
        - Src:             'lib/core-net/client/connect3.c:699,9'
          Dst:             setsockopt
        - Src:             'lib/core-net/client/connect3.c:700,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:700,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:700,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:702,9'
          Dst:             setsockopt
        - Src:             'lib/core-net/client/connect3.c:703,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:703,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:703,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:709,9'
          Dst:             __errno_location
        - Src:             'lib/core-net/client/connect3.c:713,10'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:711,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:715,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:715,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:715,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:721,20'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect3.c:721,64'
          Dst:             lws_plat_set_socket_options
        - Src:             'lib/core-net/client/connect3.c:730,9'
          Dst:             __errno_location
        - Src:             'lib/core-net/client/connect3.c:734,10'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:732,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:736,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:736,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:736,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:737,4'
          Dst:             close
        - Src:             'lib/core-net/client/connect3.c:743,20'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect3.c:747,8'
          Dst:             lws_plat_set_nonblocking
        - Src:             'lib/core-net/client/connect3.c:749,5'
          Dst:             close
        - Src:             'lib/core-net/client/connect3.c:756,7'
          Dst:             lws_plat_set_socket_options_ip
        - Src:             'lib/core-net/client/connect3.c:758,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:758,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:758,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:761,39'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect3.c:767,29'
          Dst:             setsockopt
        - Src:             'lib/core-net/client/connect3.c:768,33'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:768,33'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:768,33'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:771,29'
          Dst:             setsockopt
        - Src:             'lib/core-net/client/connect3.c:772,33'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:772,33'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:772,33'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:776,29'
          Dst:             setsockopt
        - Src:             'lib/core-net/client/connect3.c:777,33'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:777,33'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:777,33'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:780,29'
          Dst:             setsockopt
        - Src:             'lib/core-net/client/connect3.c:781,33'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:781,33'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:781,33'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:787,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:787,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:787,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:788,3'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect3.c:806,5'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:809,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:809,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:809,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:814,5'
          Dst:             close
        - Src:             'lib/core-net/client/connect3.c:819,5'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:822,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:822,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:822,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:824,5'
          Dst:             close
        - Src:             'lib/core-net/client/connect3.c:830,7'
          Dst:             __insert_wsi_socket_into_fds
        - Src:             'lib/core-net/client/connect3.c:831,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:838,5'
          Dst:             close
        - Src:             'lib/core-net/client/connect3.c:859,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/client/connect3.c:860,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:869,3'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/client/connect3.c:872,11'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/core-net/client/connect3.c:875,16'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/core-net/client/connect3.c:878,43'
          Dst:             atoi
        - Src:             'lib/core-net/client/connect3.c:880,24'
          Dst:             atoi
        - Src:             'lib/core-net/client/connect3.c:879,8'
          Dst:             lws_socket_bind
        - Src:             'lib/core-net/client/connect3.c:882,5'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:912,33'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect3.c:916,6'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect3.c:951,6'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/core-net/client/connect3.c:954,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:954,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:954,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:961,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/client/connect3.c:962,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:962,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:962,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:975,7'
          Dst:             connect
        - Src:             'lib/core-net/client/connect3.c:989,22'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/client/connect3.c:1001,20'
          Dst:             __errno_location
        - Src:             'lib/core-net/client/connect3.c:1009,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1009,3'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:1009,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1009,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1028,7'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/client/connect3.c:1040,4'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/client/connect3.c:1045,10'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:1043,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:1050,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1050,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1050,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1055,11'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:1053,5'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:1057,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1057,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1057,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1086,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/client/connect3.c:1103,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/core-net/client/connect3.c:1103,3'
          Dst:             lws_client_conn_wait_timeout
        - Src:             'lib/core-net/client/connect3.c:1111,4'
          Dst:             lws_sul_schedule
        - Src:             'lib/core-net/client/connect3.c:1111,4'
          Dst:             lws_client_happy_eyeballs_cb
        - Src:             'lib/core-net/client/connect3.c:1128,47'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect3.c:1134,9'
          Dst:             lws_cache_item_get
        - Src:             'lib/core-net/client/connect3.c:1144,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1144,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1144,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1146,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1146,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1146,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1147,4'
          Dst:             lws_sul_schedule
        - Src:             'lib/core-net/client/connect3.c:1147,4'
          Dst:             lws_client_h3_grace_cb
        - Src:             'lib/core-net/client/connect3.c:1152,5'
          Dst:             lws_sul_schedule
        - Src:             'lib/core-net/client/connect3.c:1152,5'
          Dst:             lws_client_happy_eyeballs_cb
        - Src:             'lib/core-net/client/connect3.c:1168,3'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/client/connect3.c:1174,4'
          Dst:             close
        - Src:             'lib/core-net/client/connect3.c:1176,3'
          Dst:             promote_parallel_fd
        - Src:             'lib/core-net/client/connect3.c:1180,40'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect3.c:1185,5'
          Dst:             lws_remove_parallel_fd_safely
        - Src:             'lib/core-net/client/connect3.c:1190,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1190,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1190,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1200,7'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/client/connect3.c:1209,7'
          Dst:             getsockname
        - Src:             'lib/core-net/client/connect3.c:1212,9'
          Dst:             __errno_location
        - Src:             'lib/core-net/client/connect3.c:1213,4'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:1213,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/client/connect3.c:1224,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1224,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1224,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1237,4'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/client/connect3.c:1239,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1239,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1239,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1243,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/client/connect3.c:1252,3'
          Dst:             lws_addrinfo_clean
        - Src:             'lib/core-net/client/connect3.c:1258,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1258,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1258,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1260,9'
          Dst:             lws_client_connect_4_established
        - Src:             'lib/core-net/client/connect3.c:1270,48'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect3.c:1270,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/client/connect3.c:1291,3'
          Dst:             __lws_free_wsi
        - Src:             'lib/core-net/client/connect3.c:1294,3'
          Dst:             sanity_assert_no_wsi_traces
        - Src:             'lib/core-net/client/connect3.c:1295,3'
          Dst:             sanity_assert_no_sockfd_traces
        - Src:             'lib/core-net/client/connect3.c:1304,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1304,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1304,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1314,3'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/client/connect3.c:1317,3'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/client/connect3.c:1328,4'
          Dst:             close
        - Src:             'lib/core-net/client/connect3.c:1334,4'
          Dst:             close
        - Src:             'lib/core-net/client/connect3.c:1369,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/client/connect3.c:1375,2'
          Dst:             lws_addrinfo_clean
        - Src:             'lib/core-net/client/connect3.c:1376,48'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect3.c:1376,2'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/client/connect3.c:1379,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/client/connect3.c:1380,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_happy_eyeballs_cb
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 74
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/connect3.c:72,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:72,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:72,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:73,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: 358
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         76
      ICount:          626
      EdgeCount:       100
      CyclomaticComplexity: 26
      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:208,5'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/client/connect4.c:41,9'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/core-net/client/connect4.c:44,17'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect4.c:45,9'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect4.c:46,9'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect4.c:47,9'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect4.c:48,7'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect4.c:62,9'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/core-net/client/connect4.c:67,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:67,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:67,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:69,10'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect4.c:77,12'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect4.c:82,11'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect4.c:94,8'
          Dst:             lws_hdr_simple_create
        - Src:             'lib/core-net/client/connect4.c:100,12'
          Dst:             send
        - Src:             'lib/core-net/client/connect4.c:104,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:104,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:104,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:109,3'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/client/connect4.c:113,3'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect4.c:140,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/client/connect4.c:149,3'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect4.c:161,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/client/connect4.c:163,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:163,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:163,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:168,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:168,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:168,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:183,5'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect4.c:207,14'
          Dst:             lws_client_create_tls
        - Src:             'lib/core-net/client/connect4.c:212,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:212,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:212,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:215,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:215,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:215,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:226,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:226,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:226,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:233,6'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect4.c:236,5'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/client/connect4.c:261,4'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/client/connect4.c:265,9'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/core-net/client/connect4.c:270,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:270,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:270,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:314,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect4.c:314,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect4.c:314,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect4.c:315,4'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect4.c:333,3'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/client/connect4.c:336,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/client/connect4.c:342,7'
          Dst:             lws_service_fd_tsi
        - Src:             'lib/core-net/client/connect4.c:353,48'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect4.c:353,2'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/client/connect4.c:355,2'
          Dst:             lws_close_free_wsi
    - functionName:    send
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sort_dns_dcomp
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/sort-dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 397
      functionLinenumberEnd: 555
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         88
      ICount:          534
      EdgeCount:       122
      CyclomaticComplexity: 36
      functionsReached:
        - lws_ipv6_prefix_match_len
        - lws_ipv6_unicast_scope
        - lws_sort_dns_classify
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/sort-dns.c:417,11'
          Dst:             lws_ipv6_unicast_scope
        - Src:             'lib/core-net/client/sort-dns.c:418,11'
          Dst:             lws_ipv6_unicast_scope
        - Src:             'lib/core-net/client/sort-dns.c:419,28'
          Dst:             lws_ipv6_unicast_scope
        - Src:             'lib/core-net/client/sort-dns.c:420,28'
          Dst:             lws_ipv6_unicast_scope
        - Src:             'lib/core-net/client/sort-dns.c:483,3'
          Dst:             lws_sort_dns_classify
        - Src:             'lib/core-net/client/sort-dns.c:485,3'
          Dst:             lws_sort_dns_classify
        - Src:             'lib/core-net/client/sort-dns.c:514,7'
          Dst:             memcmp
        - Src:             'lib/core-net/client/sort-dns.c:514,38'
          Dst:             memcmp
        - Src:             'lib/core-net/client/sort-dns.c:517,6'
          Dst:             memcmp
        - Src:             'lib/core-net/client/sort-dns.c:517,38'
          Dst:             memcmp
        - Src:             'lib/core-net/client/sort-dns.c:541,22'
          Dst:             lws_ipv6_prefix_match_len
        - Src:             'lib/core-net/client/sort-dns.c:542,22'
          Dst:             lws_ipv6_prefix_match_len
    - functionName:    lws_ipv6_unicast_scope
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/sort-dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 148
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          42
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sort_dns_classify
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/sort-dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 176
      functionLinenumberEnd: 214
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          174
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - lws_4to6
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/sort-dns.c:187,3'
          Dst:             lws_4to6
    - functionName:    lws_ipv6_prefix_match_len
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/sort-dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          125
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sort_dns_scope
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/sort-dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 172
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          74
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - lws_ipv6_unicast_scope
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/sort-dns.c:171,9'
          Dst:             lws_ipv6_unicast_scope
    - functionName:    lws_sort_dns_dump
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/sort-dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 572
      functionLinenumberEnd: 595
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          100
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log_cx
        - lws_dll2_get_head
        - lws_log_prepend_wsi
        - lws_sa46_write_numeric_address
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/sort-dns.c:577,7'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/client/sort-dns.c:578,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/sort-dns.c:578,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/sort-dns.c:578,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/sort-dns.c:580,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/client/sort-dns.c:585,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/client/sort-dns.c:586,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/client/sort-dns.c:588,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/sort-dns.c:588,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/sort-dns.c:588,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sort_dns_compare
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/sort-dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 559
      functionLinenumberEnd: 563
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_sort_dns_dcomp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/sort-dns.c:563,9'
          Dst:             lws_sort_dns_dcomp
    - functionName:    lws_sort_dns_scomp
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/sort-dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 241
      functionLinenumberEnd: 386
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         73
      ICount:          471
      EdgeCount:       99
      CyclomaticComplexity: 28
      functionsReached:
        - __assert_fail
        - _lws_route_est_outgoing
        - lws_ipv6_prefix_match_len
        - lws_sort_dns_classify
        - lws_sort_dns_scope
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/sort-dns.c:257,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/client/sort-dns.c:258,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/client/sort-dns.c:265,7'
          Dst:             memcmp
        - Src:             'lib/core-net/client/sort-dns.c:267,7'
          Dst:             memcmp
        - Src:             'lib/core-net/client/sort-dns.c:279,11'
          Dst:             lws_sort_dns_scope
        - Src:             'lib/core-net/client/sort-dns.c:280,11'
          Dst:             lws_sort_dns_scope
        - Src:             'lib/core-net/client/sort-dns.c:281,11'
          Dst:             lws_sort_dns_scope
        - Src:             'lib/core-net/client/sort-dns.c:333,7'
          Dst:             _lws_route_est_outgoing
        - Src:             'lib/core-net/client/sort-dns.c:348,2'
          Dst:             lws_sort_dns_classify
        - Src:             'lib/core-net/client/sort-dns.c:349,2'
          Dst:             lws_sort_dns_classify
        - Src:             'lib/core-net/client/sort-dns.c:350,2'
          Dst:             lws_sort_dns_classify
        - Src:             'lib/core-net/client/sort-dns.c:379,8'
          Dst:             lws_ipv6_prefix_match_len
        - Src:             'lib/core-net/client/sort-dns.c:380,8'
          Dst:             lws_ipv6_prefix_match_len
    - functionName:    lws_sort_dns
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/sort-dns.c'
      linkageType:     InternalLinkage
      functionLinenumber: 601
      functionLinenumberEnd: 800
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         65
      ICount:          438
      EdgeCount:       88
      CyclomaticComplexity: 25
      functionsReached:
        - _lws_log_cx
        - _lws_route_est_outgoing
        - lws_dll2_add_sorted
        - lws_dll2_add_tail
        - lws_dll2_get_head
        - lws_log_prepend_wsi
        - lws_realloc
        - lws_sa46_4to6
        - lws_sa46_write_numeric_address
        - lws_sort_dns_classify
        - lws_sort_dns_compare
        - lws_sort_dns_dump
        - lws_sort_dns_scomp
        - lws_zalloc
        - lwsl_wsi_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/sort-dns.c:607,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/sort-dns.c:607,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/sort-dns.c:607,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/sort-dns.c:652,8'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/client/sort-dns.c:659,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/client/sort-dns.c:661,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/sort-dns.c:661,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/sort-dns.c:661,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/sort-dns.c:674,11'
          Dst:             _lws_route_est_outgoing
        - Src:             'lib/core-net/client/sort-dns.c:676,5'
          Dst:             lws_realloc
        - Src:             'lib/core-net/client/sort-dns.c:677,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/sort-dns.c:677,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/sort-dns.c:677,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/sort-dns.c:723,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/sort-dns.c:723,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/sort-dns.c:723,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/sort-dns.c:725,4'
          Dst:             lws_sa46_4to6
        - Src:             'lib/core-net/client/sort-dns.c:730,3'
          Dst:             lws_sort_dns_classify
        - Src:             'lib/core-net/client/sort-dns.c:740,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/client/sort-dns.c:748,8'
          Dst:             lws_sort_dns_scomp
        - Src:             'lib/core-net/client/sort-dns.c:758,4'
          Dst:             lws_realloc
        - Src:             'lib/core-net/client/sort-dns.c:765,4'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/client/sort-dns.c:776,3'
          Dst:             lws_dll2_add_sorted
        - Src:             'lib/core-net/client/sort-dns.c:776,3'
          Dst:             lws_sort_dns_compare
        - Src:             'lib/core-net/client/sort-dns.c:796,2'
          Dst:             lws_sort_dns_dump
    - functionName:    lws_conmon_release
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/conmon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_conmon_addrinfo_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/conmon.c:153,2'
          Dst:             lws_conmon_addrinfo_destroy
    - functionName:    lws_conmon_addrinfo_destroy
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/conmon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/conmon.c:131,3'
          Dst:             lws_realloc
    - functionName:    lws_conmon_wsi_take
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/conmon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          27
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_conmon_append_copy_new_dns_results
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/conmon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         43
      ICount:          308
      EdgeCount:       58
      CyclomaticComplexity: 17
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lws_realloc
        - lwsl_wsi_get_cx
        - memcmp
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/conmon.c:75,10'
          Dst:             memcmp
        - Src:             'lib/core-net/client/conmon.c:97,6'
          Dst:             strlen
        - Src:             'lib/core-net/client/conmon.c:99,9'
          Dst:             lws_realloc
        - Src:             'lib/core-net/client/conmon.c:101,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/conmon.c:101,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/conmon.c:101,5'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_http_add_onward_header
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 899
      functionLinenumberEnd: 925
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          134
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - lws_realloc
        - lws_snprintf
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:907,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/header.c:913,18'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:915,6'
          Dst:             lws_realloc
    - functionName:    lws_http_zap_header
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 847
      functionLinenumberEnd: 895
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          225
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - lws_http_string_to_known_header
        - lws_ser_ru16be
        - lws_ser_ru32be
        - lws_ser_wu32be
        - strlen
        - strncmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:848,15'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:854,10'
          Dst:             lws_http_string_to_known_header
        - Src:             'lib/roles/http/header.c:868,13'
          Dst:             lws_ser_ru16be
        - Src:             'lib/roles/http/header.c:870,9'
          Dst:             strncmp
        - Src:             'lib/roles/http/header.c:872,26'
          Dst:             lws_ser_ru32be
        - Src:             'lib/roles/http/header.c:878,6'
          Dst:             lws_ser_wu32be
        - Src:             'lib/roles/http/header.c:889,8'
          Dst:             lws_ser_ru32be
    - functionName:    lws_http_string_to_known_header
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          53
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - strncmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:48,8'
          Dst:             strncmp
    - functionName:    lws_sul_http_ah_lifecheck
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 763
      functionLinenumberEnd: 842
      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:771,8'
          Dst:             time
        - Src:             'lib/roles/http/header.c:798,3'
          Dst:             lws_get_peer_simple
        - Src:             'lib/roles/http/header.c:802,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/header.c:802,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/header.c:809,8'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/http/header.c:815,10'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/header.c:821,8'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/header.c:824,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/header.c:831,3'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/http/header.c:835,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: 755
      functionLinenumberEnd: 756
      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:756,9'
          Dst:             lws_header_table_detach
    - functionName:    lws_http_compression_apply
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 742
      functionLinenumberEnd: 749
      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: 698
      functionLinenumberEnd: 735
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          125
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - lws_add_http_header_by_token
        - lws_add_http_header_status
        - lws_finalize_http_header
        - lws_http_get_uri_and_method
        - lws_write
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:703,6'
          Dst:             lws_http_get_uri_and_method
        - Src:             'lib/roles/http/header.c:711,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/header.c:714,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:722,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:726,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:730,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/header.c:733,9'
          Dst:             lws_write
    - functionName:    lws_add_http_header_status
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 354
      functionLinenumberEnd: 579
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         156
      ICount:          977
      EdgeCount:       212
      CyclomaticComplexity: 58
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_add_http2_header_status
        - lws_add_http_header_by_name
        - lws_add_http_header_by_token
        - lws_snprintf
        - lws_wsi_is_h2
        - strlen
        - strncasecmp
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:370,6'
          Dst:             lws_wsi_is_h2
        - Src:             'lib/roles/http/header.c:371,7'
          Dst:             lws_add_http2_header_status
        - Src:             'lib/roles/http/header.c:404,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/header.c:408,7'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/roles/http/header.c:421,20'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:426,21'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:430,27'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/header.c:441,10'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:438,7'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/roles/http/header.c:450,20'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:456,21'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:460,27'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/header.c:470,11'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:467,8'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/roles/http/header.c:482,21'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:488,22'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:492,28'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/header.c:502,23'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:506,29'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/header.c:518,12'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:515,9'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/roles/http/header.c:527,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/header.c:528,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:535,7'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/roles/http/header.c:573,3'
          Dst:             _lws_log
    - functionName:    lws_add_http_header_by_token
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 197
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          77
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - lws_add_http2_header_by_token
        - lws_add_http_header_by_name
        - lws_token_to_string
        - lws_wsi_is_h2
      functionUses:    32
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:188,13'
          Dst:             lws_wsi_is_h2
        - Src:             'lib/roles/http/header.c:189,10'
          Dst:             lws_add_http2_header_by_token
        - Src:             'lib/roles/http/header.c:192,9'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/http/header.c:196,9'
          Dst:             lws_add_http_header_by_name
    - functionName:    lws_finalize_http_header
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          69
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - lws_wsi_is_h2
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:146,13'
          Dst:             lws_wsi_is_h2
    - functionName:    lws_wsi_is_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 67
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          66
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_add_http_header_by_name
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          216
      EdgeCount:       45
      CyclomaticComplexity: 13
      functionsReached:
        - lws_add_http2_header_by_name
        - lws_wsi_is_h2
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:90,13'
          Dst:             lws_wsi_is_h2
        - Src:             'lib/roles/http/header.c:91,10'
          Dst:             lws_add_http2_header_by_name
    - functionName:    strncasecmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_return_http_status
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 584
      functionLinenumberEnd: 693
      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:    19
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:585,32'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/header.c:595,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/header.c:606,16'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:604,7'
          Dst:             lws_http_redirect
        - Src:             'lib/roles/http/header.c:617,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/header.c:620,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:625,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/header.c:633,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/header.c:634,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:638,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/header.c:656,7'
          Dst:             lws_write
        - Src:             'lib/roles/http/header.c:668,33'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/header.c:673,3'
          Dst:             strcpy
        - Src:             'lib/roles/http/header.c:674,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/header.c:687,7'
          Dst:             lws_write
    - functionName:    lws_add_http_common_headers
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 227
      functionLinenumberEnd: 299
      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:232,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/header.c:238,15'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:236,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:258,7'
          Dst:             lws_add_http_header_content_length
        - Src:             'lib/roles/http/header.c:291,13'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:288,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: 203
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          56
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_add_http_header_by_token
        - lws_snprintf
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:207,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/header.c:208,6'
          Dst:             lws_add_http_header_by_token
    - functionName:    lws_finalize_write_http_header
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 174
      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:164,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/header.c:170,6'
          Dst:             lws_write
    - functionName:    lws_http_check_retry_after
      functionSourceFile: '/src/libwebsockets/lib/roles/http/date.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 223
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          122
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - atoi
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_http_date_parse_unix
        - time
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/date.c:161,29'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/date.c:162,12'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/date.c:179,28'
          Dst:             atoi
        - Src:             'lib/roles/http/date.c:182,7'
          Dst:             lws_http_date_parse_unix
        - Src:             'lib/roles/http/date.c:191,3'
          Dst:             time
        - Src:             'lib/roles/http/date.c:192,23'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/date.c:194,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/date.c:196,10'
          Dst:             lws_http_date_parse_unix
    - functionName:    lws_http_date_parse_unix
      functionSourceFile: '/src/libwebsockets/lib/roles/http/date.c'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_http_date_parse
        - timegm
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/date.c:139,6'
          Dst:             lws_http_date_parse
        - Src:             'lib/roles/http/date.c:146,7'
          Dst:             timegm
    - functionName:    lws_http_date_parse
      functionSourceFile: '/src/libwebsockets/lib/roles/http/date.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 132
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         76
      ICount:          435
      EdgeCount:       105
      CyclomaticComplexity: 31
      functionsReached:
        - atoi
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/date.c:110,16'
          Dst:             atoi
        - Src:             'lib/roles/http/date.c:111,6'
          Dst:             atoi
        - Src:             'lib/roles/http/date.c:116,6'
          Dst:             atoi
        - Src:             'lib/roles/http/date.c:121,6'
          Dst:             atoi
        - Src:             'lib/roles/http/date.c:126,6'
          Dst:             atoi
    - functionName:    lws_http_date_render
      functionSourceFile: '/src/libwebsockets/lib/roles/http/date.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          92
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/date.c:45,2'
          Dst:             lws_snprintf
    - functionName:    lws_http_date_render_from_unix
      functionSourceFile: '/src/libwebsockets/lib/roles/http/date.c'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - gmtime_r
        - lws_http_date_render
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/date.c:58,18'
          Dst:             gmtime_r
        - Src:             'lib/roles/http/date.c:65,6'
          Dst:             lws_http_date_render
    - functionName:    gmtime_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_http_remove_urlarg
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1746
      functionLinenumberEnd: 1771
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          132
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - strlen
        - strncmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:1747,28'
          Dst:             strlen
        - Src:             'lib/roles/http/parsers.c:1757,24'
          Dst:             strncmp
    - functionName:    lws_http_cookie_get
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1578
      functionLinenumberEnd: 1630
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          305
      EdgeCount:       55
      CyclomaticComplexity: 16
      functionsReached:
        - lws_hdr_total_length
        - lws_snprintf
        - memcmp
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:1588,4'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/parsers.c:1593,8'
          Dst:             strlen
        - Src:             'lib/roles/http/parsers.c:1594,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/parsers.c:1609,37'
          Dst:             memcmp
    - functionName:    lws_hdr_total_length
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 493
      functionLinenumberEnd: 513
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          100
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    77
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_parse
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1044
      functionLinenumberEnd: 1571
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         250
      ICount:          1786
      EdgeCount:       334
      CyclomaticComplexity: 86
      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:1062,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/http/parsers.c:1142,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:1051,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:1058,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1069,5'
          Dst:             lws_ser_wu16be
        - Src:             'lib/roles/http/parsers.c:1081,9'
          Dst:             lws_pos_in_bounds
        - Src:             'lib/roles/http/parsers.c:1091,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1111,10'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:1133,9'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:1141,8'
          Dst:             lws_parse_urldecode
        - Src:             'lib/roles/http/parsers.c:1170,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1173,22'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:1199,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1229,11'
          Dst:             lws_pos_in_bounds
        - Src:             'lib/roles/http/parsers.c:1241,9'
          Dst:             lws_pos_in_bounds
        - Src:             'lib/roles/http/parsers.c:1265,6'
          Dst:             lws_ser_wu32be
        - Src:             'lib/roles/http/parsers.c:1273,5'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/parsers.c:1276,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1284,5'
          Dst:             lws_ser_wu16be
        - Src:             'lib/roles/http/parsers.c:1396,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1402,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1427,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1431,7'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1485,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1505,8'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:1511,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1525,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1538,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1550,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/parsers.c:1552,20'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/parsers.c:1554,31'
          Dst:             atoi
        - Src:             'lib/roles/http/parsers.c:1556,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1565,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1567,2'
          Dst:             lws_return_http_status
    - functionName:    lws_pos_in_bounds
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 711
      functionLinenumberEnd: 734
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          91
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - _lws_log
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:720,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/parsers.c:720,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/parsers.c:720,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/parsers.c:728,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:731,2'
          Dst:             __assert_fail
    - functionName:    issue_char
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 782
      functionLinenumberEnd: 812
      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:785,6'
          Dst:             lws_pos_in_bounds
        - Src:             'lib/roles/http/parsers.c:802,7'
          Dst:             lws_pos_in_bounds
        - Src:             'lib/roles/http/parsers.c:806,3'
          Dst:             _lws_log
    - functionName:    lws_parse_urldecode
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 816
      functionLinenumberEnd: 1023
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         114
      ICount:          796
      EdgeCount:       153
      CyclomaticComplexity: 41
      functionsReached:
        - _lws_log
        - char_to_hex
        - issue_char
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/roles/http/parsers.c:827,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/http/parsers.c:879,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:835,7'
          Dst:             char_to_hex
        - Src:             'lib/roles/http/parsers.c:844,7'
          Dst:             char_to_hex
        - Src:             'lib/roles/http/parsers.c:848,34'
          Dst:             char_to_hex
        - Src:             'lib/roles/http/parsers.c:849,5'
          Dst:             char_to_hex
        - Src:             'lib/roles/http/parsers.c:875,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:884,8'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:945,7'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:975,7'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:977,7'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:989,7'
          Dst:             issue_char
    - functionName:    lws_hdr_simple_ptr
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 696
      functionLinenumberEnd: 707
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          65
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    84
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_hdr_simple_create
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 738
      functionLinenumberEnd: 778
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          281
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - _lws_log
        - lws_pos_in_bounds
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:751,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:769,7'
          Dst:             lws_pos_in_bounds
    - functionName:    lws_hdr_custom_name_foreach
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 672
      functionLinenumberEnd: 692
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          106
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - lws_ser_ru16be
        - lws_ser_ru32be
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:685,6'
          Dst:             lws_ser_ru16be
        - Src:             'lib/roles/http/parsers.c:688,8'
          Dst:             lws_ser_ru32be
    - functionName:    lws_hdr_custom_copy
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 638
      functionLinenumberEnd: 667
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          176
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - lws_ser_ru16be
        - lws_ser_ru32be
        - strncmp
        - strncpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:651,15'
          Dst:             lws_ser_ru16be
        - Src:             'lib/roles/http/parsers.c:653,8'
          Dst:             strncmp
        - Src:             'lib/roles/http/parsers.c:654,8'
          Dst:             lws_ser_ru16be
        - Src:             'lib/roles/http/parsers.c:658,4'
          Dst:             strncpy
        - Src:             'lib/roles/http/parsers.c:663,8'
          Dst:             lws_ser_ru32be
    - functionName:    lws_hdr_custom_length
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 613
      functionLinenumberEnd: 633
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          135
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - lws_ser_ru16be
        - lws_ser_ru32be
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:623,15'
          Dst:             lws_ser_ru16be
        - Src:             'lib/roles/http/parsers.c:625,8'
          Dst:             strncmp
        - Src:             'lib/roles/http/parsers.c:626,11'
          Dst:             lws_ser_ru16be
        - Src:             'lib/roles/http/parsers.c:629,8'
          Dst:             lws_ser_ru32be
    - functionName:    lws_hdr_copy
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 548
      functionLinenumberEnd: 608
      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:    17
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:549,15'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/parsers.c:574,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/parsers.c:574,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/parsers.c:574,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/parsers.c:577,3'
          Dst:             strncpy
    - functionName:    lws_hdr_copy_fragment
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 517
      functionLinenumberEnd: 544
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_hdr_extant
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 478
      functionLinenumberEnd: 490
      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_hdr_fragment_length
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 458
      functionLinenumberEnd: 474
      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: 444
      functionLinenumberEnd: 453
      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:450,6'
          Dst:             __lws_header_table_detach
    - functionName:    __lws_header_table_detach
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 306
      functionLinenumberEnd: 441
      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:314,2'
          Dst:             __lws_remove_from_ah_waiting_list
        - Src:             'lib/roles/http/parsers.c:318,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:318,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:323,2'
          Dst:             time
        - Src:             'lib/roles/http/parsers.c:329,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:329,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:338,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:340,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:360,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:360,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:380,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:380,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:387,2'
          Dst:             __lws_header_table_reset
        - Src:             'lib/roles/http/parsers.c:398,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:398,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:403,3'
          Dst:             _lws_change_pollfd
        - Src:             'lib/roles/http/parsers.c:416,8'
          Dst:             lws_http_client_connect_via_info2
        - Src:             'lib/roles/http/parsers.c:427,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:430,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:430,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:436,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:437,2'
          Dst:             _lws_destroy_ah
    - functionName:    __lws_remove_from_ah_waiting_list
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 203
      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:190,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:190,4'
          Dst:             _lws_log
    - functionName:    __lws_header_table_reset
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 145
      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:115,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:117,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:119,2'
          Dst:             _lws_header_table_reset
        - Src:             'lib/roles/http/parsers.c:125,2'
          Dst:             __lws_set_timeout
        - Src:             'lib/roles/http/parsers.c:128,2'
          Dst:             time
        - Src:             'lib/roles/http/parsers.c:131,6'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/http/parsers.c:133,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:142,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:143,3'
          Dst:             lws_service_fd_tsi
    - functionName:    _lws_destroy_ah
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          130
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - _lws_log
        - lws_realloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:67,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:76,5'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/parsers.c:77,4'
          Dst:             lws_realloc
    - functionName:    _lws_header_table_reset
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          41
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _lws_create_ah
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          81
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lws_realloc
        - lws_zalloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:38,33'
          Dst:             lws_zalloc
        - Src:             'lib/roles/http/parsers.c:43,13'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/parsers.c:45,3'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/parsers.c:54,2'
          Dst:             _lws_log
    - functionName:    _lws_header_ensure_we_are_on_waiting_list
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 161
      functionLinenumberEnd: 180
      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:172,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:172,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:179,2'
          Dst:             _lws_change_pollfd
    - functionName:    lws_header_table_attach
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 207
      functionLinenumberEnd: 303
      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:218,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:218,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:223,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:224,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:232,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:249,3'
          Dst:             _lws_header_ensure_we_are_on_waiting_list
        - Src:             'lib/roles/http/parsers.c:254,2'
          Dst:             __lws_remove_from_ah_waiting_list
        - Src:             'lib/roles/http/parsers.c:256,17'
          Dst:             _lws_create_ah
        - Src:             'lib/roles/http/parsers.c:258,3'
          Dst:             _lws_header_ensure_we_are_on_waiting_list
        - Src:             'lib/roles/http/parsers.c:275,2'
          Dst:             _lws_change_pollfd
        - Src:             'lib/roles/http/parsers.c:277,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:277,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:281,2'
          Dst:             __lws_header_table_reset
        - Src:             'lib/roles/http/parsers.c:290,8'
          Dst:             lws_http_client_connect_via_info2
    - functionName:    lws_header_table_reset
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 157
      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:154,2'
          Dst:             __lws_header_table_reset
    - functionName:    lws_chunked_html_process
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4011
      functionLinenumberEnd: 4105
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         54
      ICount:          528
      EdgeCount:       72
      CyclomaticComplexity: 20
      functionsReached:
        - _lws_log
        - lws_snprintf
        - strlen
        - strncmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:4024,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:4037,10'
          Dst:             strncmp
        - Src:             'lib/roles/http/server/server.c:4050,36'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:4054,14'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:4080,7'
          Dst:             lws_snprintf
    - functionName:    lws_server_get_canonical_hostname
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3989
      functionLinenumberEnd: 4005
      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:3995,6'
          Dst:             gethostname
        - Src:             'lib/roles/http/server/server.c:3997,3'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/server/server.c:4000,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/http/server/server.c:4000,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/server/server.c:4000,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: 3604
      functionLinenumberEnd: 3981
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         87
      ICount:          691
      EdgeCount:       118
      CyclomaticComplexity: 33
      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:3619,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3625,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/server/server.c:3626,8'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/http/server/server.c:3627,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3705,10'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/http/server/server.c:3738,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:3738,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3740,5'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/server/server.c:3818,8'
          Dst:             lws_vfs_file_read
        - Src:             'lib/roles/http/server/server.c:3845,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3848,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:3858,9'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/http/server/server.c:3879,8'
          Dst:             lws_write
        - Src:             'lib/roles/http/server/server.c:3909,9'
          Dst:             lws_vfs_file_seek_cur
        - Src:             'lib/roles/http/server/server.c:3917,9'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/server/server.c:3929,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:3931,4'
          Dst:             lws_vfs_file_close
        - Src:             'lib/roles/http/server/server.c:3933,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3936,8'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/http/server/server.c:3961,5'
          Dst:             lws_header_table_reset
        - Src:             'lib/roles/http/server/server.c:3971,12'
          Dst:             lws_send_pipe_choked
        - Src:             'lib/roles/http/server/server.c:3973,2'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/server/server.c:3978,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_is_ascii_headers
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3169
      functionLinenumberEnd: 3181
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          89
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_vfs_prepare_flags
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 762
      functionLinenumberEnd: 775
      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:765,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:768,21'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:768,14'
          Dst:             strstr
        - Src:             'lib/roles/http/server/server.c:770,3'
          Dst:             _lws_log
    - functionName:    lws_serve_http_file
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3186
      functionLinenumberEnd: 3598
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         165
      ICount:          1017
      EdgeCount:       225
      CyclomaticComplexity: 62
      functionsReached:
        - __errno_location
        - _lws_log
        - lws_add_http_header_by_name
        - 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_is_ascii_headers
        - lws_return_http_status
        - lws_snprintf
        - lws_vfs_file_close
        - lws_vfs_get_length
        - lws_vfs_prepare_flags
        - lws_vfs_select_fops
        - lws_write
        - lws_wsi_is_h2
        - lwsi_set_state
        - strlen
        - strstr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:3187,32'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/server/server.c:3216,10'
          Dst:             lws_vfs_select_fops
        - Src:             'lib/roles/http/server/server.c:3217,13'
          Dst:             lws_vfs_prepare_flags
        - Src:             'lib/roles/http/server/server.c:3231,4'
          Dst:             __errno_location
        - Src:             'lib/roles/http/server/server.c:3231,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3233,8'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:3256,23'
          Dst:             lws_vfs_get_length
        - Src:             'lib/roles/http/server/server.c:3300,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/server/server.c:3306,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:3310,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3336,13'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:3333,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:3419,8'
          Dst:             lws_add_http_header_content_length
        - Src:             'lib/roles/http/server/server.c:3458,11'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:3463,12'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:3468,12'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:3478,7'
          Dst:             lws_is_ascii_headers
        - Src:             'lib/roles/http/server/server.c:3479,8'
          Dst:             strstr
        - Src:             'lib/roles/http/server/server.c:3480,8'
          Dst:             strstr
        - Src:             'lib/roles/http/server/server.c:3486,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:3500,8'
          Dst:             lws_wsi_is_h2
        - Src:             'lib/roles/http/server/server.c:3502,14'
          Dst:             lws_is_ascii_headers
        - Src:             'lib/roles/http/server/server.c:3544,13'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/roles/http/server/server.c:3568,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/server/server.c:3571,8'
          Dst:             lws_write
        - Src:             'lib/roles/http/server/server.c:3573,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3579,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:3581,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:3583,3'
          Dst:             lws_vfs_file_close
        - Src:             'lib/roles/http/server/server.c:3584,7'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:3590,2'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/server/server.c:3595,2'
          Dst:             lws_vfs_file_close
    - functionName:    lws_http_transaction_completed
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2941
      functionLinenumberEnd: 3164
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         69
      ICount:          491
      EdgeCount:       95
      CyclomaticComplexity: 28
      functionsReached:
        - _lws_log
        - lws_bind_protocol
        - lws_buflist_next_segment_len
        - lws_callback_on_writable
        - lws_get_peer_simple
        - lws_has_buffered_out
        - lws_header_table_attach
        - lws_header_table_detach
        - lws_header_table_reset
        - lws_realloc
        - lws_set_timeout
        - lws_vfs_file_close
        - lws_wsi_keepalive_timeout_eff
        - lws_wsi_tag
        - lwsi_set_state
      functionUses:    18
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:2942,2'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/server/server.c:2947,6'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/server/server.c:2961,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2961,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2964,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/server/server.c:2981,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2981,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2995,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:3009,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:3009,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3024,3'
          Dst:             lws_get_peer_simple
        - Src:             'lib/roles/http/server/server.c:3029,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3055,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:3055,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3059,6'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:3068,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:3068,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3070,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:3081,3'
          Dst:             lws_vfs_file_close
        - Src:             'lib/roles/http/server/server.c:3093,29'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/http/server/server.c:3093,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:3110,8'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/http/server/server.c:3112,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:3112,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3114,4'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/http/server/server.c:3126,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3133,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:3133,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3137,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:3137,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3139,4'
          Dst:             lws_header_table_reset
        - Src:             'lib/roles/http/server/server.c:3146,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:3155,7'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/http/server/server.c:3156,8'
          Dst:             lws_header_table_attach
        - Src:             'lib/roles/http/server/server.c:3157,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3159,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:3159,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3161,2'
          Dst:             lws_callback_on_writable
    - functionName:    lws_handshake_server
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2601
      functionLinenumberEnd: 2936
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         123
      ICount:          797
      EdgeCount:       168
      CyclomaticComplexity: 47
      functionsReached:
        - __assert_fail
        - _lws_log
        - atoi
        - lws_b64_decode_string
        - lws_confirm_host_header
        - lws_find_mount
        - lws_get_context
        - lws_h2_init
        - lws_h2_settings
        - lws_hdr_copy
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_header_table_detach
        - lws_hpack_dynamic_size
        - lws_http_action
        - lws_http_evaluate_interceptors
        - lws_http_get_uri_and_method
        - lws_http_redirect_hit
        - lws_http_to_fallback
        - lws_http_transaction_completed
        - lws_issue_raw
        - lws_parse
        - lws_process_ws_upgrade
        - lws_return_http_status
        - lws_role_transition
        - lws_select_vhost
        - lws_set_timeout
        - lws_vhost_bind_wsi
        - lws_wsi_tag
        - lws_zalloc
        - lwsi_set_state
        - strcasecmp
        - strchr
        - strcpy
        - strlen
        - strstr
        - user_callback_handle_rxflow
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:2602,32'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/server/server.c:2615,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2616,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/server/server.c:2620,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2621,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/server/server.c:2626,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2632,7'
          Dst:             lws_parse
        - Src:             'lib/roles/http/server/server.c:2633,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2651,8'
          Dst:             lws_http_to_fallback
        - Src:             'lib/roles/http/server/server.c:2652,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2661,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2672,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2677,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2680,5'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:2678,30'
          Dst:             lws_select_vhost
        - Src:             'lib/roles/http/server/server.c:2683,5'
          Dst:             lws_vhost_bind_wsi
        - Src:             'lib/roles/http/server/server.c:2685,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2699,8'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:2707,19'
          Dst:             strstr
        - Src:             'lib/roles/http/server/server.c:2712,20'
          Dst:             strchr
        - Src:             'lib/roles/http/server/server.c:2716,21'
          Dst:             atoi
        - Src:             'lib/roles/http/server/server.c:2715,6'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2750,8'
          Dst:             lws_http_get_uri_and_method
        - Src:             'lib/roles/http/server/server.c:2752,11'
          Dst:             lws_find_mount
        - Src:             'lib/roles/http/server/server.c:2754,10'
          Dst:             lws_http_redirect_hit
        - Src:             'lib/roles/http/server/server.c:2760,7'
          Dst:             lws_http_evaluate_interceptors
        - Src:             'lib/roles/http/server/server.c:2762,35'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2769,7'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2778,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2779,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2783,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:2784,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:2786,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2788,21'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:2791,8'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:2792,8'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:2793,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2795,9'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2797,9'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:2800,9'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/http/server/server.c:2812,13'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:2824,6'
          Dst:             lws_confirm_host_header
        - Src:             'lib/roles/http/server/server.c:2827,10'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:2830,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2835,10'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:2837,9'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2846,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2846,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2848,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:2857,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2857,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2860,7'
          Dst:             lws_http_action
        - Src:             'lib/roles/http/server/server.c:2866,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2867,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2871,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2873,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:2875,7'
          Dst:             lws_b64_decode_string
        - Src:             'lib/roles/http/server/server.c:2877,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2886,3'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/server/server.c:2893,18'
          Dst:             lws_zalloc
        - Src:             'lib/roles/http/server/server.c:2898,3'
          Dst:             lws_h2_init
        - Src:             'lib/roles/http/server/server.c:2902,3'
          Dst:             lws_h2_settings
        - Src:             'lib/roles/http/server/server.c:2904,7'
          Dst:             lws_hpack_dynamic_size
        - Src:             'lib/roles/http/server/server.c:2908,3'
          Dst:             strcpy
        - Src:             'lib/roles/http/server/server.c:2911,12'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:2912,7'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/http/server/server.c:2914,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2922,7'
          Dst:             lws_process_ws_upgrade
        - Src:             'lib/roles/http/server/server.c:2933,2'
          Dst:             lws_header_table_detach
    - functionName:    lws_http_to_fallback
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2548
      functionLinenumberEnd: 2597
      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:2556,6'
          Dst:             lws_role_by_name
        - Src:             'lib/roles/http/server/server.c:2557,10'
          Dst:             lws_role_by_name
        - Src:             'lib/roles/http/server/server.c:2560,8'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/server/server.c:2566,2'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:2568,2'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/server/server.c:2570,2'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/http/server/server.c:2571,2'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:2579,2'
          Dst:             lws_get_peer_simple
        - Src:             'lib/roles/http/server/server.c:2582,2'
          Dst:             _lws_log
    - functionName:    lws_select_vhost
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 626
      functionLinenumberEnd: 684
      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:631,11'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:633,14'
          Dst:             strchr
        - Src:             'lib/roles/http/server/server.c:641,8'
          Dst:             strncmp
        - Src:             'lib/roles/http/server/server.c:642,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:657,16'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:661,8'
          Dst:             strncmp
        - Src:             'lib/roles/http/server/server.c:662,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:674,4'
          Dst:             _lws_log
    - functionName:    lws_http_get_uri_and_method
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1294
      functionLinenumberEnd: 1324
      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:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:1298,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1301,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1309,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1312,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1317,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1318,16'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1319,16'
          Dst:             lws_hdr_total_length
    - functionName:    lws_find_mount
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1067
      functionLinenumberEnd: 1142
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         81
      ICount:          521
      EdgeCount:       111
      CyclomaticComplexity: 32
      functionsReached:
        - _lws_log
        - lws_hdr_total_length
        - strncmp
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:1071,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1078,25'
          Dst:             strncmp
        - Src:             'lib/roles/http/server/server.c:1085,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1096,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1097,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1103,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1109,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1110,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1112,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1113,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1114,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1116,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1119,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1128,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1134,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1140,2'
          Dst:             _lws_log
    - functionName:    lws_http_redirect_hit
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1717
      functionLinenumberEnd: 1811
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          357
      EdgeCount:       65
      CyclomaticComplexity: 19
      functionsReached:
        - _lws_log
        - lws_clean_url
        - lws_get_peer_simple
        - lws_hdr_simple_ptr
        - lws_header_table_detach
        - lws_http_redirect
        - lws_http_transaction_completed
        - lws_is_ssl
        - lws_snprintf
        - strchr
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:1724,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1746,30'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:1757,3'
          Dst:             lws_get_peer_simple
        - Src:             'lib/roles/http/server/server.c:1766,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:1770,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:1774,27'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1777,16'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1783,30'
          Dst:             strchr
        - Src:             'lib/roles/http/server/server.c:1784,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:1787,28'
          Dst:             lws_is_ssl
        - Src:             'lib/roles/http/server/server.c:1786,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:1795,3'
          Dst:             lws_clean_url
        - Src:             'lib/roles/http/server/server.c:1796,12'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:1797,7'
          Dst:             lws_http_redirect
        - Src:             'lib/roles/http/server/server.c:1802,10'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:1808,2'
          Dst:             lws_header_table_detach
    - functionName:    lws_http_evaluate_interceptors
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1816
      functionLinenumberEnd: 1847
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strcasecmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_confirm_host_header
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2476
      functionLinenumberEnd: 2543
      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:2487,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2488,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2498,6'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:2500,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2504,2'
          Dst:             lws_tokenize_init
        - Src:             'lib/roles/http/server/server.c:2508,6'
          Dst:             lws_tokenize
        - Src:             'lib/roles/http/server/server.c:2511,6'
          Dst:             strncmp
        - Src:             'lib/roles/http/server/server.c:2513,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2518,6'
          Dst:             lws_tokenize
        - Src:             'lib/roles/http/server/server.c:2520,7'
          Dst:             lws_tokenize
        - Src:             'lib/roles/http/server/server.c:2523,11'
          Dst:             atoi
        - Src:             'lib/roles/http/server/server.c:2530,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2535,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2540,2'
          Dst:             _lws_log
    - functionName:    lws_http_action
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1852
      functionLinenumberEnd: 2472
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         242
      ICount:          1956
      EdgeCount:       330
      CyclomaticComplexity: 90
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - lws_bind_protocol
        - lws_buflist_aware_finished_consuming
        - lws_buflist_next_segment_len
        - lws_check_basic_auth
        - lws_ensure_user_space
        - lws_find_mount
        - lws_get_peer_simple
        - lws_hdr_copy
        - lws_hdr_copy_fragment
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_header_table_detach
        - lws_http_evaluate_interceptors
        - lws_http_get_uri_and_method
        - lws_http_redirect
        - lws_http_redirect_hit
        - lws_http_serve
        - lws_http_transaction_completed
        - lws_log_prepend_wsi
        - 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
        - lwsl_hexdump_level
        - lwsl_wsi_get_cx
        - strcasecmp
        - strlen
        - strtoull
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib/roles/http/server/server.c:1920,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/http/server/server.c:2207,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:1868,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1871,9'
          Dst:             lws_http_get_uri_and_method
        - Src:             'lib/roles/http/server/server.c:1873,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1880,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/server/server.c:1880,3'
          Dst:             lws_get_peer_simple
        - Src:             'lib/roles/http/server/server.c:1880,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/server/server.c:1880,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/server/server.c:1893,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/server/server.c:1893,3'
          Dst:             lws_get_peer_simple
        - Src:             'lib/roles/http/server/server.c:1893,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/server/server.c:1893,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/server/server.c:1903,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/server/server.c:1903,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/server/server.c:1903,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/server/server.c:1906,4'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/http/server/server.c:1910,3'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:1915,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1931,6'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/http/server/server.c:1941,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1944,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1945,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1953,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1954,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1955,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1956,4'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:1960,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1961,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:1967,8'
          Dst:             lws_hdr_copy_fragment
        - Src:             'lib/roles/http/server/server.c:1970,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1971,5'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:1974,4'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:1978,24'
          Dst:             strtoull
        - Src:             'lib/roles/http/server/server.c:1981,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1982,5'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:1986,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1988,5'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:1992,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1994,5'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2002,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2019,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2032,22'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2034,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:2049,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2050,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:2053,9'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:2056,10'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:2068,3'
          Dst:             lws_get_peer_simple
        - Src:             'lib/roles/http/server/server.c:2068,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2079,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:2093,21'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2097,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:2100,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:2101,13'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:2113,10'
          Dst:             lws_hdr_copy_fragment
        - Src:             'lib/roles/http/server/server.c:2117,9'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:2126,21'
          Dst:             lws_http_redirect
        - Src:             'lib/roles/http/server/server.c:2131,10'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:2145,8'
          Dst:             lws_find_mount
        - Src:             'lib/roles/http/server/server.c:2146,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2151,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2153,7'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:2157,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:2172,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2175,5'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2188,20'
          Dst:             lws_http_redirect_hit
        - Src:             'lib/roles/http/server/server.c:2197,8'
          Dst:             lws_http_evaluate_interceptors
        - Src:             'lib/roles/http/server/server.c:2199,3'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2207,10'
          Dst:             lws_check_basic_auth
        - Src:             'lib/roles/http/server/server.c:2213,10'
          Dst:             lws_unauthorised_basic_auth
        - Src:             'lib/roles/http/server/server.c:2215,3'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2216,10'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:2253,8'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/server/server.c:2255,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2260,7'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:2263,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2276,4'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2288,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2349,7'
          Dst:             lws_http_serve
        - Src:             'lib/roles/http/server/server.c:2359,6'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/server/server.c:2365,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:2367,8'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:2381,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2401,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2406,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2434,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:2435,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2435,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2451,19'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/http/server/server.c:2456,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2457,7'
          Dst:             lws_read_h1
        - Src:             'lib/roles/http/server/server.c:2461,7'
          Dst:             lws_buflist_aware_finished_consuming
        - Src:             'lib/roles/http/server/server.c:2469,2'
          Dst:             lws_header_table_detach
    - functionName:    strtoull
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_check_basic_auth
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1347
      functionLinenumberEnd: 1434
      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:1397,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:1357,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1365,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1369,6'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:1372,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1377,6'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:1378,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1384,6'
          Dst:             lws_b64_decode_string
        - Src:             'lib/roles/http/server/server.c:1386,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1391,19'
          Dst:             strchr
        - Src:             'lib/roles/http/server/server.c:1393,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1399,7'
          Dst:             lws_find_string_in_file
        - Src:             'lib/roles/http/server/server.c:1401,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1423,2'
          Dst:             lws_authorization_rewrite
        - Src:             'lib/roles/http/server/server.c:1425,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/server/server.c:1425,2'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1425,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/server/server.c:1425,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_unauthorised_basic_auth
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1213
      functionLinenumberEnd: 1244
      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:1222,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/server/server.c:1225,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:1226,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:1231,6'
          Dst:             lws_add_http_header_content_length
        - Src:             'lib/roles/http/server/server.c:1234,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/server/server.c:1237,6'
          Dst:             lws_write
        - Src:             'lib/roles/http/server/server.c:1242,9'
          Dst:             lws_http_transaction_completed
    - functionName:    lws_http_serve
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 780
      functionLinenumberEnd: 1061
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         128
      ICount:          988
      EdgeCount:       175
      CyclomaticComplexity: 49
      functionsReached:
        - __errno_location
        - _lws_log
        - fstat
        - lws_add_http_header_by_token
        - lws_add_http_header_status
        - lws_bind_protocol
        - lws_ensure_user_space
        - lws_finalize_http_header
        - lws_get_mimetype
        - lws_get_vhost
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_http_transaction_completed
        - lws_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
        - strcmp
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:815,8'
          Dst:             strcmp
        - Src:             'lib/roles/http/server/server.c:820,2'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:824,12'
          Dst:             lws_vfs_prepare_flags
        - Src:             'lib/roles/http/server/server.c:828,10'
          Dst:             lws_vfs_select_fops
        - Src:             'lib/roles/http/server/server.c:831,4'
          Dst:             lws_vfs_file_close
        - Src:             'lib/roles/http/server/server.c:836,4'
          Dst:             __errno_location
        - Src:             'lib/roles/http/server/server.c:836,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:849,7'
          Dst:             fstat
        - Src:             'lib/roles/http/server/server.c:850,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:876,18'
          Dst:             readlink
        - Src:             'lib/roles/http/server/server.c:878,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:882,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:883,4'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:887,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:888,4'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:895,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:898,27'
          Dst:             lws_vfs_get_length
        - Src:             'lib/roles/http/server/server.c:899,22'
          Dst:             lws_vfs_get_mod_time
        - Src:             'lib/roles/http/server/server.c:897,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:903,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:904,19'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:904,7'
          Dst:             strcmp
        - Src:             'lib/roles/http/server/server.c:908,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:913,20'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:913,8'
          Dst:             strcmp
        - Src:             'lib/roles/http/server/server.c:919,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:923,8'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/server/server.c:925,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:930,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:940,14'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:946,49'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:953,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:958,8'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/server/server.c:961,8'
          Dst:             lws_write
        - Src:             'lib/roles/http/server/server.c:965,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:970,4'
          Dst:             lws_vfs_file_close
        - Src:             'lib/roles/http/server/server.c:972,8'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:979,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:984,13'
          Dst:             lws_get_mimetype
        - Src:             'lib/roles/http/server/server.c:986,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:990,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1000,12'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:1001,16'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:1002,39'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:1002,8'
          Dst:             strcmp
        - Src:             'lib/roles/http/server/server.c:1008,5'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/server/server.c:1010,6'
          Dst:             lws_get_vhost
        - Src:             'lib/roles/http/server/server.c:1012,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1016,8'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:1020,8'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/http/server/server.c:1028,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:1036,36'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/server/server.c:1039,14'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:1050,6'
          Dst:             lws_serve_http_file
        - Src:             'lib/roles/http/server/server.c:1053,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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_mimetype
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 715
      functionLinenumberEnd: 757
      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:717,13'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:729,9'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:730,19'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:731,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:741,9'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:742,19'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:743,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:751,3'
          Dst:             _lws_log
    - functionName:    lws_find_string_in_file
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1148
      functionLinenumberEnd: 1206
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          244
      EdgeCount:       56
      CyclomaticComplexity: 16
      functionsReached:
        - _lws_log
        - close
        - lws_open
        - lws_timingsafe_bcmp
        - read
        - strchr
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:1153,7'
          Dst:             lws_open
        - Src:             'lib/roles/http/server/server.c:1155,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1160,12'
          Dst:             read
        - Src:             'lib/roles/http/server/server.c:1168,14'
          Dst:             strchr
        - Src:             'lib/roles/http/server/server.c:1174,22'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:1176,10'
          Dst:             lws_timingsafe_bcmp
        - Src:             'lib/roles/http/server/server.c:1183,9'
          Dst:             strchr
        - Src:             'lib/roles/http/server/server.c:1199,36'
          Dst:             lws_timingsafe_bcmp
        - Src:             'lib/roles/http/server/server.c:1203,2'
          Dst:             close
    - functionName:    lws_authorization_rewrite
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1330
      functionLinenumberEnd: 1342
      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:1331,12'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1338,2'
          Dst:             strncpy
    - functionName:    lws_clean_url
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1249
      functionLinenumberEnd: 1273
      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: 481
      functionLinenumberEnd: 620
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         54
      ICount:          308
      EdgeCount:       74
      CyclomaticComplexity: 22
      functionsReached:
        - _lws_log
        - _lws_vhost_init_server_af
        - lws_parse_numeric_address
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:516,10'
          Dst:             _lws_vhost_init_server_af
        - Src:             'lib/roles/http/server/server.c:530,7'
          Dst:             lws_parse_numeric_address
        - Src:             'lib/roles/http/server/server.c:544,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:562,7'
          Dst:             _lws_vhost_init_server_af
        - Src:             'lib/roles/http/server/server.c:572,7'
          Dst:             _lws_vhost_init_server_af
        - Src:             'lib/roles/http/server/server.c:581,6'
          Dst:             _lws_vhost_init_server_af
    - functionName:    _lws_vhost_init_server_af
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 475
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         146
      ICount:          1057
      EdgeCount:       196
      CyclomaticComplexity: 52
      functionsReached:
        - __errno_location
        - __insert_wsi_socket_into_fds
        - __lws_lc_tag
        - __lws_wsi_create_with_role
        - __remove_wsi_socket_from_fds
        - _lws_log
        - check_extant
        - close
        - dup
        - listen
        - lws_dll2_add_tail
        - lws_dll2_remove
        - lws_plat_set_socket_options
        - lws_socket_bind
        - lws_vhost_bind_wsi
        - lws_vhost_foreach_listen_wsi
        - setsockopt
        - socket
      functionUses:    4
      BranchProfiles:
        - Branch String:   'lib/roles/http/server/server.c:175,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:121,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:123,6'
          Dst:             lws_vhost_foreach_listen_wsi
        - Src:             'lib/roles/http/server/server.c:123,6'
          Dst:             check_extant
        - Src:             'lib/roles/http/server/server.c:137,8'
          Dst:             lws_socket_bind
        - Src:             'lib/roles/http/server/server.c:140,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:150,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:166,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:184,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:198,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:246,13'
          Dst:             dup
        - Src:             'lib/roles/http/server/server.c:253,6'
          Dst:             socket
        - Src:             'lib/roles/http/server/server.c:256,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:286,7'
          Dst:             setsockopt
        - Src:             'lib/roles/http/server/server.c:288,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:289,4'
          Dst:             close
        - Src:             'lib/roles/http/server/server.c:305,7'
          Dst:             setsockopt
        - Src:             'lib/roles/http/server/server.c:307,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:309,4'
          Dst:             close
        - Src:             'lib/roles/http/server/server.c:323,8'
          Dst:             setsockopt
        - Src:             'lib/roles/http/server/server.c:325,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:331,3'
          Dst:             lws_plat_set_socket_options
        - Src:             'lib/roles/http/server/server.c:337,9'
          Dst:             lws_socket_bind
        - Src:             'lib/roles/http/server/server.c:343,5'
          Dst:             close
        - Src:             'lib/roles/http/server/server.c:354,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:355,5'
          Dst:             close
        - Src:             'lib/roles/http/server/server.c:367,9'
          Dst:             __lws_wsi_create_with_role
        - Src:             'lib/roles/http/server/server.c:370,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:383,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:388,3'
          Dst:             lws_vhost_bind_wsi
        - Src:             'lib/roles/http/server/server.c:397,7'
          Dst:             __insert_wsi_socket_into_fds
        - Src:             'lib/roles/http/server/server.c:398,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:403,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/http/server/server.c:405,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/roles/http/server/server.c:426,8'
          Dst:             setsockopt
        - Src:             'lib/roles/http/server/server.c:428,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:433,7'
          Dst:             listen
        - Src:             'lib/roles/http/server/server.c:435,4'
          Dst:             __errno_location
        - Src:             'lib/roles/http/server/server.c:435,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:436,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/http/server/server.c:437,4'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/roles/http/server/server.c:445,4'
          Dst:             __lws_lc_tag
        - Src:             'lib/roles/http/server/server.c:458,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:461,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:471,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:472,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: 347
      functionLinenumberEnd: 606
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         121
      ICount:          749
      EdgeCount:       167
      CyclomaticComplexity: 48
      functionsReached:
        - _lws_log
        - lws_buflist_aware_finished_consuming
        - lws_buflist_aware_read
        - lws_change_pollfd
        - lws_close_free_wsi
        - lws_has_buffered_out
        - lws_header_table_attach
        - lws_header_table_detach
        - lws_issue_raw
        - lws_read_h1
        - lws_read_h2
        - lws_serve_http_file_fragment
        - lws_set_timeout
        - lws_wsi_keepalive_timeout_eff
        - lws_wsi_tag
        - lwsi_set_state
        - user_callback_handle_rxflow
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/roles/h1/ops-h1.c:411,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h1/ops-h1.c:392,24'
          Dst:             lws_header_table_attach
        - Src:             'lib/roles/h1/ops-h1.c:393,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h1/ops-h1.c:393,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:410,14'
          Dst:             lws_buflist_aware_read
        - Src:             'lib/roles/h1/ops-h1.c:413,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:415,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/h1/ops-h1.c:439,12'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h1/ops-h1.c:437,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h1/ops-h1.c:445,12'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h1/ops-h1.c:443,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h1/ops-h1.c:452,11'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h1/ops-h1.c:450,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h1/ops-h1.c:456,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:462,8'
          Dst:             lws_buflist_aware_finished_consuming
        - Src:             'lib/roles/h1/ops-h1.c:478,8'
          Dst:             lws_read_h2
        - Src:             'lib/roles/h1/ops-h1.c:481,8'
          Dst:             lws_read_h1
        - Src:             'lib/roles/h1/ops-h1.c:496,7'
          Dst:             lws_buflist_aware_finished_consuming
        - Src:             'lib/roles/h1/ops-h1.c:509,4'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/h1/ops-h1.c:538,6'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/h1/ops-h1.c:539,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:547,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:549,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h1/ops-h1.c:550,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/h1/ops-h1.c:551,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:565,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/h1/ops-h1.c:567,8'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/h1/ops-h1.c:568,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:574,7'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/h1/ops-h1.c:578,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:593,6'
          Dst:             lws_serve_http_file_fragment
        - Src:             'lib/roles/h1/ops-h1.c:602,2'
          Dst:             lws_close_free_wsi
    - functionName:    lws_read_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 343
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         128
      ICount:          802
      EdgeCount:       163
      CyclomaticComplexity: 37
      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:139,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:155,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:182,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:193,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:198,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h1/ops-h1.c:201,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:205,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:206,6'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h1/ops-h1.c:216,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h1/ops-h1.c:233,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h1/ops-h1.c:246,10'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/h1/ops-h1.c:251,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h1/ops-h1.c:251,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:258,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:263,6'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h1/ops-h1.c:278,7'
          Dst:             lws_ws_handshake_client
        - Src:             'lib/roles/h1/ops-h1.c:286,7'
          Dst:             lws_parse_ws
        - Src:             'lib/roles/h1/ops-h1.c:287,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:296,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:306,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:315,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:339,3'
          Dst:             lws_close_free_wsi
    - functionName:    rops_pt_init_destroy_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1177
      functionLinenumberEnd: 1193
      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: 612
      functionLinenumberEnd: 773
      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:629,10'
          Dst:             lws_ssl_capable_read
        - Src:             'lib/roles/h1/ops-h1.c:685,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h1/ops-h1.c:685,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:689,8'
          Dst:             lws_buflist_total_len
        - Src:             'lib/roles/h1/ops-h1.c:696,8'
          Dst:             lws_h1_server_socket_service
        - Src:             'lib/roles/h1/ops-h1.c:709,8'
          Dst:             lws_server_socket_service_ssl
        - Src:             'lib/roles/h1/ops-h1.c:734,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/h1/ops-h1.c:742,7'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/h1/ops-h1.c:745,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:758,6'
          Dst:             lws_handle_POLLOUT_event
        - Src:             'lib/roles/h1/ops-h1.c:759,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:764,6'
          Dst:             lws_http_client_socket_service
    - functionName:    rops_handle_POLLOUT_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 777
      functionLinenumberEnd: 846
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          61
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rops_write_role_protocol_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 851
      functionLinenumberEnd: 928
      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:921,6'
          Dst:             lws_issue_raw
    - functionName:    rops_alpn_negotiated_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 932
      functionLinenumberEnd: 947
      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:933,2'
          Dst:             _lws_log
    - functionName:    rops_close_kill_connection_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1158
      functionLinenumberEnd: 1170
      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: 952
      functionLinenumberEnd: 981
      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:957,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:958,2'
          Dst:             __lws_header_table_detach
        - Src:             'lib/roles/h1/ops-h1.c:964,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h1/ops-h1.c:964,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:979,2'
          Dst:             lws_realloc
    - functionName:    rops_adoption_bind_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 988
      functionLinenumberEnd: 1044
      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:996,8'
          Dst:             lws_header_table_attach
        - Src:             'lib/roles/h1/ops-h1.c:997,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:999,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:1007,3'
          Dst:             lws_role_transition
        - Src:             'lib/roles/h1/ops-h1.c:1017,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:1019,3'
          Dst:             lws_role_call_alpn_negotiated
        - Src:             'lib/roles/h1/ops-h1.c:1023,3'
          Dst:             lws_role_transition
        - Src:             'lib/roles/h1/ops-h1.c:1040,2'
          Dst:             lws_set_timeout
    - functionName:    rops_client_bind_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1067
      functionLinenumberEnd: 1153
      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:1078,8'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/h1/ops-h1.c:1099,7'
          Dst:             lws_header_table_attach
        - Src:             'lib/roles/h1/ops-h1.c:1126,7'
          Dst:             lws_create_client_ws_object
        - Src:             'lib/roles/h1/ops-h1.c:1138,6'
          Dst:             _lws_is_http_method
        - Src:             'lib/roles/h1/ops-h1.c:1147,2'
          Dst:             lws_role_transition
    - functionName:    _lws_is_http_method
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1056
      functionLinenumberEnd: 1063
      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:1059,9'
          Dst:             strcmp
    - functionName:    lws_h2_client_stream_long_poll_rxonly
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3231
      functionLinenumberEnd: 3248
      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:3245,2'
          Dst:             lws_callback_on_writable
    - functionName:    lws_read_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3154
      functionLinenumberEnd: 3227
      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:3178,4'
          Dst:             lws_rxflow_cache
        - Src:             'lib/roles/h2/http2.c:3205,7'
          Dst:             lws_h2_parser
        - Src:             'lib/roles/h2/http2.c:3210,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:3211,4'
          Dst:             lws_close_free_wsi
    - functionName:    lws_h2_parser
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2219
      functionLinenumberEnd: 2731
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         193
      ICount:          1595
      EdgeCount:       246
      CyclomaticComplexity: 55
      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:2232,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/http2.c:2320,4'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/http2.c:2345,5'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/http2.c:2666,5'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:2240,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:2240,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2241,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:2242,4'
          Dst:             lws_validity_confirmed
        - Src:             'lib/roles/h2/http2.c:2251,10'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:2254,4'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:2286,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2296,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2304,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2312,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2328,5'
          Dst:             lws_h2_settings
        - Src:             'lib/roles/h2/http2.c:2337,9'
          Dst:             lws_hpack_interpret
        - Src:             'lib/roles/h2/http2.c:2338,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2388,7'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h2/http2.c:2386,6'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/http2.c:2394,9'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/h2/http2.c:2396,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2401,6'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:2402,6'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:2402,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2412,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2419,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2427,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2443,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2457,7'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:2457,7'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2463,7'
          Dst:             lws_wsi_txc_describe
        - Src:             'lib/roles/h2/http2.c:2466,10'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/h2/http2.c:2479,7'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2488,10'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/roles/h2/http2.c:2506,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2517,9'
          Dst:             lws_read_h1
        - Src:             'lib/roles/h2/http2.c:2525,57'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/h2/http2.c:2527,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2540,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2571,6'
          Dst:             lws_h2_update_peer_txcredit_thresh
        - Src:             'lib/roles/h2/http2.c:2582,6'
          Dst:             lws_h2_update_peer_txcredit
        - Src:             'lib/roles/h2/http2.c:2595,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2599,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2633,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2641,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2652,8'
          Dst:             lws_h2_parse_end_of_frame
        - Src:             'lib/roles/h2/http2.c:2698,8'
          Dst:             lws_h2_parse_frame_header
        - Src:             'lib/roles/h2/http2.c:2717,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: 437
      functionLinenumberEnd: 461
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          87
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
        - lws_callback_on_writable
        - lws_get_network_wsi
        - lws_h2_goaway
        - lws_realloc
        - lws_rx_flow_control
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:438,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:442,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:443,3'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/http2.c:448,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:450,3'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/http2.c:451,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:458,2'
          Dst:             lws_rx_flow_control
        - Src:             'lib/roles/h2/http2.c:460,2'
          Dst:             lws_callback_on_writable
    - functionName:    lws_h2_goaway
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 465
      functionLinenumberEnd: 486
      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:    61
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:472,8'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:476,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:476,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:480,2'
          Dst:             lws_strncpy
        - Src:             'lib/roles/h2/http2.c:481,2'
          Dst:             lws_pps_schedule
    - functionName:    lws_h2_settings
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 522
      functionLinenumberEnd: 629
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         49
      ICount:          346
      EdgeCount:       63
      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:538,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:523,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:543,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:552,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:587,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:597,6'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:603,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:608,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:617,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:626,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:          147
      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:    5
      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: 1624
      functionLinenumberEnd: 2198
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         238
      ICount:          1940
      EdgeCount:       317
      CyclomaticComplexity: 81
      functionsReached:
        - __assert_fail
        - __lws_wsi_server_new
        - _lws_log
        - _lws_log_cx
        - atoll
        - lws_callback_on_writable
        - lws_client_interpret_server_handshake
        - lws_close_free_wsi
        - 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:1644,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/http2.c:1831,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/http2.c:1919,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:1634,15'
          Dst:             lws_wsi_mux_from_id
        - Src:             'lib/roles/h2/http2.c:1640,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1657,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1666,16'
          Dst:             __lws_wsi_server_new
        - Src:             'lib/roles/h2/http2.c:1675,4'
          Dst:             lws_wsi_mux_from_id
        - Src:             'lib/roles/h2/http2.c:1675,4'
          Dst:             __assert_fail
        - Src:             'lib/roles/h2/http2.c:1681,4'
          Dst:             lws_role_transition
        - Src:             'lib/roles/h2/http2.c:1721,45'
          Dst:             lws_get_opaque_user_data
        - Src:             'lib/roles/h2/http2.c:1736,5'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/http2.c:1746,4'
          Dst:             lws_strncpy
        - Src:             'lib/roles/h2/http2.c:1756,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1756,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1756,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1760,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1760,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1770,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1770,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1776,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:1781,11'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:1784,5'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:1785,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1791,4'
          Dst:             lws_wsi_mux_apply_queue
        - Src:             'lib/roles/h2/http2.c:1805,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1812,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1822,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1825,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1833,4'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1836,4'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1840,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1840,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1840,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1846,7'
          Dst:             lws_client_interpret_server_handshake
        - Src:             'lib/roles/h2/http2.c:1856,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1861,7'
          Dst:             lws_hdr_extant
        - Src:             'lib/roles/h2/http2.c:1862,23'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:1868,24'
          Dst:             atoll
        - Src:             'lib/roles/h2/http2.c:1876,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1886,9'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/h2/http2.c:1892,11'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:1898,9'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/h2/http2.c:1900,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1905,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1914,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1921,4'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1925,5'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1933,5'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1951,4'
          Dst:             lws_h2_rst_stream
        - Src:             'lib/roles/h2/http2.c:1954,8'
          Dst:             lws_http_transaction_completed_client
        - Src:             'lib/roles/h2/http2.c:1955,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1960,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1960,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1967,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:1968,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:1969,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:1970,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:1971,8'
          Dst:             lws_hdr_extant
        - Src:             'lib/roles/h2/http2.c:1972,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1977,7'
          Dst:             lws_hdr_extant
        - Src:             'lib/roles/h2/http2.c:1978,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:1981,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:1982,16'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:1982,8'
          Dst:             strncmp
        - Src:             'lib/roles/h2/http2.c:1984,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1994,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2000,14'
          Dst:             strcasecmp
        - Src:             'lib/roles/h2/http2.c:2008,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2010,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:2011,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:2016,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2020,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2025,4'
          Dst:             lws_h2_rst_stream
        - Src:             'lib/roles/h2/http2.c:2032,4'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:2037,4'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:2047,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:2047,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2051,5'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:2062,5'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:2064,5'
          Dst:             lws_h2_rst_stream
        - Src:             'lib/roles/h2/http2.c:2067,9'
          Dst:             lws_http_transaction_completed_client
        - Src:             'lib/roles/h2/http2.c:2068,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2076,4'
          Dst:             lws_validity_confirmed
        - Src:             'lib/roles/h2/http2.c:2080,6'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:2084,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2087,4'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:2097,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2107,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2120,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2125,5'
          Dst:             lws_h2_rst_stream
        - Src:             'lib/roles/h2/http2.c:2129,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2135,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2142,3'
          Dst:             lws_wsi_txc_report_manual_txcr_in
        - Src:             'lib/roles/h2/http2.c:2145,3'
          Dst:             lws_wsi_txc_describe
        - Src:             'lib/roles/h2/http2.c:2161,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:2166,11'
          Dst:             lws_h2_tx_cr_get
        - Src:             'lib/roles/h2/http2.c:2165,8'
          Dst:             lws_wsi_txc_check_skint
        - Src:             'lib/roles/h2/http2.c:2171,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:2176,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/h2/http2.c:2176,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/h2/http2.c:2176,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/h2/http2.c:2183,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2187,4'
          Dst:             lws_close_free_wsi
    - functionName:    lws_h2_parse_frame_header
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1117
      functionLinenumberEnd: 1589
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         215
      ICount:          1667
      EdgeCount:       294
      CyclomaticComplexity: 81
      functionsReached:
        - __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:1269,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:1132,3'
          Dst:             lws_snprintf
        - Src:             'lib/roles/h2/http2.c:1133,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1141,12'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h2/http2.c:1151,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/http2.c:1155,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/http2.c:1159,15'
          Dst:             lws_wsi_mux_from_id
        - Src:             'lib/roles/h2/http2.c:1161,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1161,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1161,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1169,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1184,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1186,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1192,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1192,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1204,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1206,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/h2/http2.c:1206,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/h2/http2.c:1206,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/h2/http2.c:1213,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1217,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1228,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1228,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1230,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1238,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1238,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1248,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1256,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1264,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1271,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1273,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1274,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1277,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1282,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1286,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1291,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1296,4'
          Dst:             lws_h2_parse_end_of_frame
        - Src:             'lib/roles/h2/http2.c:1301,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1303,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1308,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1315,17'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1316,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1320,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1329,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1334,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1338,3'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1342,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1345,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1352,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1368,11'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:1371,5'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:1379,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1386,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1391,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1397,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1402,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1411,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1417,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1427,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1430,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1437,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1445,17'
          Dst:             lws_wsi_mux_from_id
        - Src:             'lib/roles/h2/http2.c:1446,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1446,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1446,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1461,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1475,16'
          Dst:             __lws_wsi_server_new
        - Src:             'lib/roles/h2/http2.c:1482,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1493,8'
          Dst:             lws_h2_update_peer_txcredit
        - Src:             'lib/roles/h2/http2.c:1503,8'
          Dst:             lws_header_table_attach
        - Src:             'lib/roles/h2/http2.c:1504,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1524,5'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/http2.c:1541,4'
          Dst:             lws_mux_mark_immortal
        - Src:             'lib/roles/h2/http2.c:1542,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1542,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1548,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1555,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1555,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1559,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1568,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1572,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1576,4'
          Dst:             lws_h2_parse_end_of_frame
        - Src:             'lib/roles/h2/http2.c:1578,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1581,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: 322
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          355
      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_mux_sibling_disconnect
        - 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:313,2'
          Dst:             lws_wsi_mux_sibling_disconnect
        - Src:             'lib/roles/h2/http2.c:316,3'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/http2.c:318,2'
          Dst:             __lws_vhost_unbind_wsi
        - Src:             'lib/roles/h2/http2.c:319,2'
          Dst:             lws_realloc
    - functionName:    lws_h2_rst_stream
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 490
      functionLinenumberEnd: 517
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          111
      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:491,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:501,8'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:505,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:511,2'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:514,2'
          Dst:             lws_h2_state
    - functionName:    lws_h2_tx_cr_get
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 651
      functionLinenumberEnd: 668
      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:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:653,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:658,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:658,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: 3016
      functionLinenumberEnd: 3149
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         51
      ICount:          408
      EdgeCount:       71
      CyclomaticComplexity: 22
      functionsReached:
        - _lws_log
        - lws_add_http_header_by_token
        - lws_add_http_header_status
        - lws_finalize_http_header
        - lws_find_mount
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_mux_mark_immortal
        - lws_ss_event_helper
        - lws_ss_tag
        - lws_validity_confirmed
        - lws_write
        - lws_wsi_tag
        - lwsi_set_state
        - strlen
        - user_callback_handle_rxflow
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:3024,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/h2/http2.c:3027,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:3031,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:3033,16'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:3035,17'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:3035,10'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:3032,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:3044,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:3062,4'
          Dst:             lws_ss_tag
        - Src:             'lib/roles/h2/http2.c:3062,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:3062,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:3073,4'
          Dst:             lws_ss_event_helper
        - Src:             'lib/roles/h2/http2.c:3075,4'
          Dst:             lws_mux_mark_immortal
        - Src:             'lib/roles/h2/http2.c:3080,10'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:3077,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:3088,10'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:3086,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:3109,7'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/h2/http2.c:3117,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/h2/http2.c:3122,6'
          Dst:             lws_write
        - Src:             'lib/roles/h2/http2.c:3124,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:3134,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:3137,12'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:3138,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:3139,8'
          Dst:             lws_find_mount
        - Src:             'lib/roles/h2/http2.c:3146,2'
          Dst:             lws_validity_confirmed
    - functionName:    lws_h2_client_handshake
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2736
      functionLinenumberEnd: 3010
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         124
      ICount:          829
      EdgeCount:       171
      CyclomaticComplexity: 49
      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:2739,15'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2740,14'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2741,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:2766,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2779,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:2779,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2783,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2801,10'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:2798,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2805,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2812,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2819,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2825,13'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:2836,11'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2841,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2842,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2844,12'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:2856,19'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2870,22'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2873,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2882,35'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:2881,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2925,8'
          Dst:             lws_http_multipart_headers
        - Src:             'lib/roles/h2/http2.c:2932,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2936,3'
          Dst:             lws_client_http_body_pending
        - Src:             'lib/roles/h2/http2.c:2943,3'
          Dst:             lws_cookie_send_cookies
        - Src:             'lib/roles/h2/http2.c:2951,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/h2/http2.c:2959,42'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/h2/http2.c:2965,6'
          Dst:             lws_write
        - Src:             'lib/roles/h2/http2.c:2968,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2985,6'
          Dst:             lws_h2_update_peer_txcredit
        - Src:             'lib/roles/h2/http2.c:2988,2'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:2989,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:2997,5'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:3002,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:3007,2'
          Dst:             _lws_log
    - functionName:    lws_h2_set_bin
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 856
      functionLinenumberEnd: 863
      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: 868
      functionLinenumberEnd: 1106
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         79
      ICount:          848
      EdgeCount:       103
      CyclomaticComplexity: 26
      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:896,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:894,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:894,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:906,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:910,5'
          Dst:             lws_h2_set_bin
        - Src:             'lib/roles/h2/http2.c:913,7'
          Dst:             lws_h2_frame_write
        - Src:             'lib/roles/h2/http2.c:917,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:931,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:934,7'
          Dst:             lws_h2_frame_write
        - Src:             'lib/roles/h2/http2.c:938,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:945,7'
          Dst:             lws_h2_frame_write
        - Src:             'lib/roles/h2/http2.c:949,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:955,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:959,19'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:959,8'
          Dst:             lws_is_ssl
        - Src:             'lib/roles/h2/http2.c:974,16'
          Dst:             __lws_wsi_server_new
        - Src:             'lib/roles/h2/http2.c:986,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:990,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:990,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:996,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:999,8'
          Dst:             lws_http_action
        - Src:             'lib/roles/h2/http2.c:1013,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1015,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1020,7'
          Dst:             lws_h2_frame_write
        - Src:             'lib/roles/h2/http2.c:1029,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1045,7'
          Dst:             lws_h2_frame_write
        - Src:             'lib/roles/h2/http2.c:1050,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1056,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1061,7'
          Dst:             lws_h2_frame_write
        - Src:             'lib/roles/h2/http2.c:1064,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1067,10'
          Dst:             lws_wsi_mux_from_id
        - Src:             'lib/roles/h2/http2.c:1069,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1069,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1069,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1073,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/http2.c:1078,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1085,7'
          Dst:             lws_h2_frame_write
        - Src:             'lib/roles/h2/http2.c:1089,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1098,2'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/http2.c:1103,2'
          Dst:             lws_realloc
    - functionName:    lws_h2_frame_write
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 683
      functionLinenumberEnd: 751
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          241
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log
        - lws_buflist_append_segment
        - lws_callback_on_writable
        - lws_get_network_wsi
        - lws_h2_tx_cr_consume
        - lws_h2_tx_cr_get
        - lws_issue_raw
        - lws_wsi_tag
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:684,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:701,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:701,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:701,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:710,8'
          Dst:             lws_h2_tx_cr_get
        - Src:             'lib/roles/h2/http2.c:724,8'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/roles/h2/http2.c:729,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:736,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:736,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:739,5'
          Dst:             lws_h2_tx_cr_consume
        - Src:             'lib/roles/h2/http2.c:742,6'
          Dst:             lws_issue_raw
    - functionName:    lws_h2_tx_cr_consume
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 672
      functionLinenumberEnd: 679
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:673,21'
          Dst:             lws_get_network_wsi
    - functionName:    lws_h2_ws_drain_parked_tx
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 768
      functionLinenumberEnd: 852
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         34
      ICount:          300
      EdgeCount:       46
      CyclomaticComplexity: 14
      functionsReached:
        - lws_buflist_next_segment_len
        - lws_buflist_use_segment
        - lws_h2_tx_cr_consume
        - lws_h2_tx_cr_get
        - lws_issue_raw
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:779,15'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/h2/http2.c:797,8'
          Dst:             lws_h2_tx_cr_get
        - Src:             'lib/roles/h2/http2.c:817,3'
          Dst:             lws_h2_tx_cr_consume
        - Src:             'lib/roles/h2/http2.c:824,7'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/h2/http2.c:829,4'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/roles/h2/http2.c:848,3'
          Dst:             lws_buflist_use_segment
    - functionName:    lws_h2_issue_preface
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 397
      functionLinenumberEnd: 433
      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:402,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:409,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:409,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:411,45'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:411,6'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/h2/http2.c:412,8'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:417,2'
          Dst:             lws_role_transition
        - Src:             'lib/roles/h2/http2.c:426,8'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:429,2'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:430,2'
          Dst:             _lws_log
    - functionName:    lws_wsi_h2_adopt
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 326
      functionLinenumberEnd: 392
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          175
      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_mux_sibling_disconnect
        - lws_wsi_tag
        - lws_wsi_txc_describe
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:327,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:332,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:361,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:361,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:364,2'
          Dst:             lws_wsi_mux_insert
        - Src:             'lib/roles/h2/http2.c:370,2'
          Dst:             lws_wsi_txc_describe
        - Src:             'lib/roles/h2/http2.c:372,6'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/h2/http2.c:375,2'
          Dst:             lws_role_transition
        - Src:             'lib/roles/h2/http2.c:378,2'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:384,2'
          Dst:             lws_wsi_mux_sibling_disconnect
        - Src:             'lib/roles/h2/http2.c:387,3'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/http2.c:389,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: 1591
      functionLinenumberEnd: 1604
      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
        - lws_snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:1597,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/h2/hpack.c:1598,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: 1579
      functionLinenumberEnd: 1587
      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:1582,9'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/h2/hpack.c:1586,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: 1521
      functionLinenumberEnd: 1574
      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:1528,3'
          Dst:             lws_strncpy
        - Src:             'lib/roles/h2/hpack.c:1531,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1534,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1538,13'
          Dst:             strlen
        - Src:             'lib/roles/h2/hpack.c:1543,29'
          Dst:             strncmp
        - Src:             'lib/roles/h2/hpack.c:1545,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1555,37'
          Dst:             lws_h2_num_start
        - Src:             'lib/roles/h2/hpack.c:1556,6'
          Dst:             lws_h2_num
        - Src:             'lib/roles/h2/hpack.c:1563,24'
          Dst:             tolower
        - Src:             'lib/roles/h2/hpack.c:1565,37'
          Dst:             lws_h2_num_start
        - Src:             'lib/roles/h2/hpack.c:1566,6'
          Dst:             lws_h2_num
    - functionName:    lws_h2_num_start
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1486
      functionLinenumberEnd: 1493
      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: 1498
      functionLinenumberEnd: 1516
      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: 301
      functionLinenumberEnd: 323
      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:307,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:313,8'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/h2/hpack.c:315,3'
          Dst:             strcpy
        - Src:             'lib/roles/h2/hpack.c:319,6'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/h2/hpack.c:320,2'
          Dst:             _lws_log
    - functionName:    lws_frag_end
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 287
      functionLinenumberEnd: 297
      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:288,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:289,6'
          Dst:             lws_frag_append
    - functionName:    lws_frag_append
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 284
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          73
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dynamic_token_insert
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 476
      functionLinenumberEnd: 553
      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:481,8'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/hpack.c:487,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:491,2'
          Dst:             lws_h2_dynamic_table_dump
        - Src:             'lib/roles/h2/hpack.c:496,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:498,3'
          Dst:             lws_dynamic_free
        - Src:             'lib/roles/h2/hpack.c:515,3'
          Dst:             lws_dynamic_free
        - Src:             'lib/roles/h2/hpack.c:525,4'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/hpack.c:527,5'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/hpack.c:543,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:550,2'
          Dst:             lws_h2_dynamic_table_dump
    - functionName:    lws_h2_dynamic_table_dump
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 410
      functionLinenumberEnd: 442
      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: 447
      functionLinenumberEnd: 457
      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:448,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:451,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: 697
      functionLinenumberEnd: 746
      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:701,12'
          Dst:             lws_token_from_index
        - Src:             'lib/roles/h2/hpack.c:704,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:709,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:717,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:720,3'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/h2/hpack.c:720,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:732,6'
          Dst:             lws_frag_start
        - Src:             'lib/roles/h2/hpack.c:737,8'
          Dst:             lws_frag_append
        - Src:             'lib/roles/h2/hpack.c:740,6'
          Dst:             lws_frag_end
        - Src:             'lib/roles/h2/hpack.c:743,2'
          Dst:             lws_dump_header
    - functionName:    lws_token_from_index
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 406
      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:356,8'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/hpack.c:368,16'
          Dst:             strlen
        - Src:             'lib/roles/h2/hpack.c:377,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:382,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:384,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:394,2'
          Dst:             _lws_log
    - functionName:    lws_hpack_handle_pseudo_rules
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 792
      functionLinenumberEnd: 815
      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:799,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:806,3'
          Dst:             lws_h2_goaway
    - functionName:    lws_hpack_interpret
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 818
      functionLinenumberEnd: 1480
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         333
      ICount:          2457
      EdgeCount:       442
      CyclomaticComplexity: 111
      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_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_hpack_dynamic_size
        - lws_hpack_handle_pseudo_rules
        - lws_hpack_use_idx_hdr
        - lws_parse
        - lws_parse_urldecode
        - lws_ser_wu16be
        - lws_ser_wu32be
        - lws_token_from_index
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/roles/h2/hpack.c:846,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/hpack.c:926,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/hpack.c:1005,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/hpack.c:1119,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/hpack.c:1185,7'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/hpack.c:1352,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:819,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/hpack.c:832,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:861,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:862,4'
          Dst:             lws_h2_dynamic_table_dump
        - Src:             'lib/roles/h2/hpack.c:872,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:877,8'
          Dst:             lws_token_from_index
        - Src:             'lib/roles/h2/hpack.c:879,8'
          Dst:             lws_hpack_handle_pseudo_rules
        - Src:             'lib/roles/h2/hpack.c:882,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:883,8'
          Dst:             lws_hpack_use_idx_hdr
        - Src:             'lib/roles/h2/hpack.c:884,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:898,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:907,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:920,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:935,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:942,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:947,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:951,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:954,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:972,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:982,8'
          Dst:             lws_hpack_dynamic_size
        - Src:             'lib/roles/h2/hpack.c:990,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:991,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1003,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1007,8'
          Dst:             lws_hpack_use_idx_hdr
        - Src:             'lib/roles/h2/hpack.c:1009,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1017,8'
          Dst:             lws_hpack_dynamic_size
        - Src:             'lib/roles/h2/hpack.c:1025,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1051,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1052,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1066,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1110,8'
          Dst:             lws_token_from_index
        - Src:             'lib/roles/h2/hpack.c:1112,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1132,8'
          Dst:             lws_frag_start
        - Src:             'lib/roles/h2/hpack.c:1133,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1149,32'
          Dst:             huftable_decode
        - Src:             'lib/roles/h2/hpack.c:1153,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1169,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1185,15'
          Dst:             lws_parse_urldecode
        - Src:             'lib/roles/h2/hpack.c:1193,8'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1202,10'
          Dst:             lws_frag_append
        - Src:             'lib/roles/h2/hpack.c:1203,7'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1231,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1234,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1254,9'
          Dst:             lws_parse
        - Src:             'lib/roles/h2/hpack.c:1271,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1273,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1283,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1290,9'
          Dst:             lws_parse
        - Src:             'lib/roles/h2/hpack.c:1319,5'
          Dst:             lws_ser_wu16be
        - Src:             'lib/roles/h2/hpack.c:1326,6'
          Dst:             lws_ser_wu32be
        - Src:             'lib/roles/h2/hpack.c:1359,8'
          Dst:             lws_token_from_index
        - Src:             'lib/roles/h2/hpack.c:1380,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1385,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1399,8'
          Dst:             lws_dynamic_token_insert
        - Src:             'lib/roles/h2/hpack.c:1402,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1411,49'
          Dst:             lws_frag_end
        - Src:             'lib/roles/h2/hpack.c:1423,9'
          Dst:             lws_token_from_index
        - Src:             'lib/roles/h2/hpack.c:1428,4'
          Dst:             lws_dump_header
        - Src:             'lib/roles/h2/hpack.c:1430,7'
          Dst:             lws_hpack_handle_pseudo_rules
        - Src:             'lib/roles/h2/hpack.c:1446,15'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/hpack.c:1447,16'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/hpack.c:1452,8'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1466,4'
          Dst:             lws_ser_wu16be
    - functionName:    lws_hpack_dynamic_size
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 557
      functionLinenumberEnd: 672
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         63
      ICount:          478
      EdgeCount:       84
      CyclomaticComplexity: 23
      functionsReached:
        - _lws_log
        - lws_dynamic_free
        - lws_get_network_wsi
        - lws_h2_dynamic_table_dump
        - lws_h2_goaway
        - lws_hpack_destroy_dynamic_header
        - lws_realloc
        - lws_zalloc
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:579,9'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/hpack.c:584,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:590,3'
          Dst:             lws_hpack_destroy_dynamic_header
        - Src:             'lib/roles/h2/hpack.c:594,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:599,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:606,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:629,8'
          Dst:             lws_zalloc
        - Src:             'lib/roles/h2/hpack.c:638,3'
          Dst:             lws_dynamic_free
        - Src:             'lib/roles/h2/hpack.c:653,3'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/hpack.c:664,2'
          Dst:             lws_h2_dynamic_table_dump
        - Src:             'lib/roles/h2/hpack.c:669,2'
          Dst:             _lws_log
    - functionName:    lws_hpack_destroy_dynamic_header
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 676
      functionLinenumberEnd: 693
      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:690,4'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/hpack.c:692,2'
          Dst:             lws_realloc
    - functionName:    lws_h2_bind_for_post_before_action
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 876
      functionLinenumberEnd: 1033
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         113
      ICount:          716
      EdgeCount:       152
      CyclomaticComplexity: 41
      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:933,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/ops-h2.c:884,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:885,12'
          Dst:             strcmp
        - Src:             'lib/roles/h2/ops-h2.c:889,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/ops-h2.c:890,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:901,5'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:902,5'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/ops-h2.c:900,8'
          Dst:             lws_find_mount
        - Src:             'lib/roles/h2/ops-h2.c:904,2'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:904,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:922,8'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/h2/ops-h2.c:924,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:928,7'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/h2/ops-h2.c:933,11'
          Dst:             lws_check_basic_auth
        - Src:             'lib/roles/h2/ops-h2.c:939,11'
          Dst:             lws_unauthorised_basic_auth
        - Src:             'lib/roles/h2/ops-h2.c:941,4'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/h2/ops-h2.c:942,11'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/h2/ops-h2.c:947,12'
          Dst:             lws_http_get_uri_and_method
        - Src:             'lib/roles/h2/ops-h2.c:963,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:966,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/ops-h2.c:983,17'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/h2/ops-h2.c:990,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:997,3'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/roles/h2/ops-h2.c:1019,3'
          Dst:             lws_dll2_remove
    - functionName:    rops_issue_keepalive_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1560
      functionLinenumberEnd: 1594
      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:1561,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1563,26'
          Dst:             lws_now_usecs
        - Src:             'lib/roles/h2/ops-h2.c:1566,3'
          Dst:             _lws_validity_confirmed_role
        - Src:             'lib/roles/h2/ops-h2.c:1576,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/h2/ops-h2.c:1578,8'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/ops-h2.c:1591,2'
          Dst:             lws_pps_schedule
    - functionName:    rops_destroy_role_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 706
      functionLinenumberEnd: 738
      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:711,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:711,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:712,2'
          Dst:             __lws_header_table_detach
        - Src:             'lib/roles/h2/ops-h2.c:718,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:718,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:732,3'
          Dst:             lws_hpack_destroy_dynamic_header
        - Src:             'lib/roles/h2/ops-h2.c:735,4'
          Dst:             lws_realloc
    - functionName:    rops_close_kill_connection_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 743
      functionLinenumberEnd: 820
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         54
      ICount:          353
      EdgeCount:       72
      CyclomaticComplexity: 20
      functionsReached:
        - _lws_log
        - lws_callback_on_writable
        - 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:759,3'
          Dst:             lws_h2_rst_stream
        - Src:             'lib/roles/h2/ops-h2.c:765,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:765,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:765,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:766,2'
          Dst:             lws_wsi_mux_dump_children
        - Src:             'lib/roles/h2/ops-h2.c:773,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:773,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:773,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:776,41'
          Dst:             lwsl_visible
        - Src:             'lib/roles/h2/ops-h2.c:777,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:777,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:778,4'
          Dst:             lws_wsi_mux_dump_children
        - Src:             'lib/roles/h2/ops-h2.c:780,3'
          Dst:             lws_wsi_mux_close_children
        - Src:             'lib/roles/h2/ops-h2.c:789,4'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/ops-h2.c:811,6'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/ops-h2.c:815,3'
          Dst:             lws_wsi_mux_sibling_disconnect
        - Src:             'lib/roles/h2/ops-h2.c:817,4'
          Dst:             lws_realloc
    - functionName:    rops_alpn_negotiated_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1516
      functionLinenumberEnd: 1556
      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:1519,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1522,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1533,2'
          Dst:             lws_role_transition
        - Src:             'lib/roles/h2/ops-h2.c:1540,17'
          Dst:             lws_zalloc
        - Src:             'lib/roles/h2/ops-h2.c:1544,2'
          Dst:             lws_h2_init
        - Src:             'lib/roles/h2/ops-h2.c:1548,6'
          Dst:             lws_hpack_dynamic_size
        - Src:             'lib/roles/h2/ops-h2.c:1553,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1553,2'
          Dst:             _lws_log
    - functionName:    rops_check_upgrades_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 588
      functionLinenumberEnd: 622
      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:598,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:600,35'
          Dst:             strcmp
        - Src:             'lib/roles/h2/ops-h2.c:603,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:604,12'
          Dst:             strcmp
        - Src:             'lib/roles/h2/ops-h2.c:607,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:608,2'
          Dst:             lws_mux_mark_immortal
        - Src:             'lib/roles/h2/ops-h2.c:613,6'
          Dst:             lws_process_ws_upgrade
        - Src:             'lib/roles/h2/ops-h2.c:616,2'
          Dst:             _lws_log
    - functionName:    rops_pt_init_destroy_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 644
      functionLinenumberEnd: 664
      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: 628
      functionLinenumberEnd: 637
      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: 107
      functionLinenumberEnd: 420
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         159
      ICount:          961
      EdgeCount:       216
      CyclomaticComplexity: 59
      functionsReached:
        - _lws_log
        - lws_buflist_append_segment
        - lws_buflist_next_segment_len
        - lws_buflist_use_segment
        - lws_change_pollfd
        - lws_dll2_add_head
        - lws_dll2_is_detached
        - lws_dll2_remove
        - lws_get_network_wsi
        - lws_handle_POLLOUT_event
        - lws_has_buffered_out
        - lws_http_client_socket_service
        - lws_read_h1
        - lws_read_h2
        - lws_rx_flow_control
        - lws_set_timeout
        - lws_ssl_capable_read
        - lws_ssl_pending
        - lws_wsi_keepalive_timeout_eff
        - lws_wsi_tag
        - lwsi_set_state
        - user_callback_handle_rxflow
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/roles/h2/ops-h2.c:257,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/ops-h2.c:123,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:132,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:150,7'
          Dst:             lws_handle_POLLOUT_event
        - Src:             'lib/roles/h2/ops-h2.c:151,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:155,7'
          Dst:             lws_http_client_socket_service
        - Src:             'lib/roles/h2/ops-h2.c:166,6'
          Dst:             lws_handle_POLLOUT_event
        - Src:             'lib/roles/h2/ops-h2.c:168,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/ops-h2.c:183,3'
          Dst:             lws_rx_flow_control
        - Src:             'lib/roles/h2/ops-h2.c:191,10'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/ops-h2.c:192,15'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/h2/ops-h2.c:194,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:204,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:213,18'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/h2/ops-h2.c:216,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:222,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:222,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:224,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/h2/ops-h2.c:229,7'
          Dst:             lws_ssl_pending
        - Src:             'lib/roles/h2/ops-h2.c:247,13'
          Dst:             lws_ssl_capable_read
        - Src:             'lib/roles/h2/ops-h2.c:259,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:262,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:266,12'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h2/ops-h2.c:264,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/ops-h2.c:269,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:273,12'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h2/ops-h2.c:271,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/ops-h2.c:276,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:289,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:296,11'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h2/ops-h2.c:294,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/ops-h2.c:302,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:324,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/h2/ops-h2.c:330,7'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/h2/ops-h2.c:334,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:350,8'
          Dst:             lws_read_h2
        - Src:             'lib/roles/h2/ops-h2.c:352,8'
          Dst:             lws_read_h1
        - Src:             'lib/roles/h2/ops-h2.c:368,13'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/roles/h2/ops-h2.c:369,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:372,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:372,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:374,5'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/h2/ops-h2.c:380,9'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/roles/h2/ops-h2.c:386,6'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:386,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:388,10'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/roles/h2/ops-h2.c:389,7'
          Dst:             lws_dll2_add_head
        - Src:             'lib/roles/h2/ops-h2.c:416,27'
          Dst:             lws_ssl_pending
    - functionName:    rops_handle_POLLOUT_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 424
      functionLinenumberEnd: 468
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          135
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log
        - lws_h2_do_pps_send
        - lws_rx_flow_control
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/ops-h2.c:442,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:447,7'
          Dst:             lws_h2_do_pps_send
        - Src:             'lib/roles/h2/ops-h2.c:455,3'
          Dst:             lws_rx_flow_control
    - functionName:    rops_perform_user_POLLOUT_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1051
      functionLinenumberEnd: 1503
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         153
      ICount:          1051
      EdgeCount:       212
      CyclomaticComplexity: 61
      functionsReached:
        - _lws_log
        - lws_callback_as_writeable
        - lws_callback_on_writable
        - lws_change_pollfd
        - lws_close_free_wsi
        - lws_dll2_add_head
        - lws_dll2_add_tail
        - lws_dll2_remove
        - lws_get_network_wsi
        - lws_h2_bind_for_post_before_action
        - lws_h2_client_handshake
        - lws_h2_state
        - lws_h2_tx_cr_get
        - lws_h2_ws_drain_parked_tx
        - 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_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:1057,8'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1065,2'
          Dst:             lws_wsi_mux_dump_waiting_children
        - Src:             'lib/roles/h2/ops-h2.c:1089,27'
          Dst:             lws_send_pipe_choked
        - Src:             'lib/roles/h2/ops-h2.c:1101,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1101,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1102,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/h2/ops-h2.c:1103,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/roles/h2/ops-h2.c:1125,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1125,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1145,8'
          Dst:             lws_h2_ws_drain_parked_tx
        - Src:             'lib/roles/h2/ops-h2.c:1146,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1148,5'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1155,5'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/ops-h2.c:1165,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/h2/ops-h2.c:1166,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1167,8'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/h2/ops-h2.c:1168,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1169,5'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1173,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/ops-h2.c:1228,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1241,14'
          Dst:             strlen
        - Src:             'lib/roles/h2/ops-h2.c:1239,8'
          Dst:             lws_write
        - Src:             'lib/roles/h2/ops-h2.c:1244,4'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/ops-h2.c:1245,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1254,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1258,8'
          Dst:             lws_h2_client_handshake
        - Src:             'lib/roles/h2/ops-h2.c:1275,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/ops-h2.c:1281,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1281,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1283,5'
          Dst:             lws_dll2_add_head
        - Src:             'lib/roles/h2/ops-h2.c:1288,8'
          Dst:             lws_h2_bind_for_post_before_action
        - Src:             'lib/roles/h2/ops-h2.c:1303,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1304,8'
          Dst:             lws_http_action
        - Src:             'lib/roles/h2/ops-h2.c:1306,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1308,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1320,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1321,5'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1333,11'
          Dst:             lws_h2_tx_cr_get
        - Src:             'lib/roles/h2/ops-h2.c:1332,8'
          Dst:             lws_wsi_txc_check_skint
        - Src:             'lib/roles/h2/ops-h2.c:1345,8'
          Dst:             lws_serve_http_file_fragment
        - Src:             'lib/roles/h2/ops-h2.c:1346,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1353,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1353,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1355,5'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1360,9'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/h2/ops-h2.c:1363,5'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/ops-h2.c:1378,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1380,8'
          Dst:             lws_write
        - Src:             'lib/roles/h2/ops-h2.c:1384,5'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/ops-h2.c:1385,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/ops-h2.c:1386,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1398,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1398,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1404,8'
          Dst:             lws_write
        - Src:             'lib/roles/h2/ops-h2.c:1409,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/ops-h2.c:1422,8'
          Dst:             lws_write
        - Src:             'lib/roles/h2/ops-h2.c:1431,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1433,5'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/ops-h2.c:1434,5'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1439,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/ops-h2.c:1459,9'
          Dst:             rops_write_role_protocol_h2
        - Src:             'lib/roles/h2/ops-h2.c:1461,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1461,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1463,5'
          Dst:             lws_mux_mark_immortal
        - Src:             'lib/roles/h2/ops-h2.c:1465,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1465,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1470,7'
          Dst:             lws_callback_as_writeable
        - Src:             'lib/roles/h2/ops-h2.c:1471,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1473,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1477,5'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/ops-h2.c:1494,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/h2/ops-h2.c:1499,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: 825
      functionLinenumberEnd: 871
      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:839,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:846,41'
          Dst:             lws_h2_tx_cr_get
        - Src:             'lib/roles/h2/ops-h2.c:846,6'
          Dst:             lws_wsi_txc_check_skint
        - Src:             'lib/roles/h2/ops-h2.c:851,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:856,16'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/ops-h2.c:858,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: 670
      functionLinenumberEnd: 702
      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:671,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/ops-h2.c:680,11'
          Dst:             lws_h2_update_peer_txcredit
        - Src:             'lib/roles/h2/ops-h2.c:695,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: 473
      functionLinenumberEnd: 583
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         77
      ICount:          466
      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:497,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:560,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:560,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:564,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:571,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:571,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:576,6'
          Dst:             lws_h2_frame_write
    - functionName:    rops_encapsulation_parent_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1507
      functionLinenumberEnd: 1512
      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: 863
      functionLinenumberEnd: 878
      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:867,21'
          Dst:             lws_get_context
        - Src:             'lib/roles/ws/ops-ws.c:867,6'
          Dst:             lws_get_random
        - Src:             'lib/roles/ws/ops-ws.c:869,3'
          Dst:             _lws_log
    - functionName:    lws_is_ws_with_ext
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1012
      functionLinenumberEnd: 1014
      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_tx_credit_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2142
      functionLinenumberEnd: 2158
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rops_issue_keepalive_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2244
      functionLinenumberEnd: 2260
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          56
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log_cx
        - _lws_validity_confirmed_role
        - lws_callback_on_writable
        - lws_log_prepend_wsi
        - lws_now_usecs
        - lwsl_wsi_get_cx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/ops-ws.c:2249,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:2249,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:2249,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:2250,3'
          Dst:             _lws_validity_confirmed_role
        - Src:             'lib/roles/ws/ops-ws.c:2252,18'
          Dst:             lws_now_usecs
        - Src:             'lib/roles/ws/ops-ws.c:2255,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:2255,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:2255,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:2257,3'
          Dst:             lws_callback_on_writable
    - functionName:    rops_destroy_role_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2232
      functionLinenumberEnd: 2239
      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:2237,2'
          Dst:             lws_realloc
    - functionName:    rops_close_kill_connection_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2097
      functionLinenumberEnd: 2109
      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: 1641
      functionLinenumberEnd: 1688
      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:1677,2'
          Dst:             lws_realloc
    - functionName:    rops_close_via_role_protocol_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1610
      functionLinenumberEnd: 1637
      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:1619,2'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1631,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/ops-ws.c:1632,2'
          Dst:             __lws_set_timeout
        - Src:             'lib/roles/ws/ops-ws.c:1634,2'
          Dst:             lws_callback_on_writable
    - functionName:    rops_write_role_protocol_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1693
      functionLinenumberEnd: 2093
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         115
      ICount:          1044
      EdgeCount:       140
      CyclomaticComplexity: 27
      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:1781,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/ops-ws.c:1866,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/ops-ws.c:1874,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/ops-ws.c:2036,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/ws/ops-ws.c:1754,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1862,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1878,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:1878,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:1878,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:1879,5'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/ops-ws.c:1888,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:1888,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:1888,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:1889,5'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/ops-ws.c:1898,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:1898,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:1898,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:1899,5'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/ops-ws.c:1902,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:1902,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:1902,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:1903,5'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/ops-ws.c:1920,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1971,8'
          Dst:             lws_0405_frame_mask_generate
        - Src:             'lib/roles/ws/ops-ws.c:1972,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1990,23'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/ws/ops-ws.c:1992,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/ops-ws.c:2065,8'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/ws/ops-ws.c:2092,9'
          Dst:             lws_issue_raw
    - functionName:    rops_callback_on_writable_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2113
      functionLinenumberEnd: 2138
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          92
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/ops-ws.c:2121,3'
          Dst:             __assert_fail
    - functionName:    rops_handle_POLLIN_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1023
      functionLinenumberEnd: 1358
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         150
      ICount:          855
      EdgeCount:       202
      CyclomaticComplexity: 54
      functionsReached:
        - __lws_change_pollfd
        - __lws_rx_flow_control
        - _lws_log
        - _lws_log_rl
        - lws_buflist_aware_finished_consuming
        - lws_buflist_next_segment_len
        - lws_buflist_total_len
        - lws_handle_POLLOUT_event
        - lws_header_table_detach
        - lws_http_client_socket_service
        - lws_is_ws_with_ext
        - lws_log_ratelimit_check
        - lws_read_h1
        - lws_read_h2
        - lws_rx_flow_control
        - lws_ssl_capable_read
        - lws_ssl_pending
        - lws_wsi_tag
        - lwsi_set_state
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/roles/ws/ops-ws.c:1214,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/ws/ops-ws.c:1030,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1054,7'
          Dst:             lws_handle_POLLOUT_event
        - Src:             'lib/roles/ws/ops-ws.c:1055,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1059,7'
          Dst:             lws_http_client_socket_service
        - Src:             'lib/roles/ws/ops-ws.c:1070,6'
          Dst:             lws_handle_POLLOUT_event
        - Src:             'lib/roles/ws/ops-ws.c:1072,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/ops-ws.c:1084,3'
          Dst:             lws_rx_flow_control
        - Src:             'lib/roles/ws/ops-ws.c:1111,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1113,7'
          Dst:             __lws_change_pollfd
        - Src:             'lib/roles/ws/ops-ws.c:1154,18'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/ws/ops-ws.c:1157,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1166,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1202,14'
          Dst:             lws_ssl_capable_read
        - Src:             'lib/roles/ws/ops-ws.c:1216,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1221,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1224,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1261,9'
          Dst:             lws_read_h2
        - Src:             'lib/roles/ws/ops-ws.c:1265,9'
          Dst:             lws_read_h1
        - Src:             'lib/roles/ws/ops-ws.c:1283,8'
          Dst:             lws_buflist_aware_finished_consuming
        - Src:             'lib/roles/ws/ops-ws.c:1300,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1301,3'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/ws/ops-ws.c:1304,26'
          Dst:             lws_ssl_pending
        - Src:             'lib/roles/ws/ops-ws.c:1306,18'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/ws/ops-ws.c:1311,6'
          Dst:             lws_buflist_total_len
        - Src:             'lib/roles/ws/ops-ws.c:1316,7'
          Dst:             lws_is_ws_with_ext
        - Src:             'lib/roles/ws/ops-ws.c:1337,4'
          Dst:             lws_log_ratelimit_check
        - Src:             'lib/roles/ws/ops-ws.c:1337,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/ws/ops-ws.c:1337,4'
          Dst:             _lws_log_rl
        - Src:             'lib/roles/ws/ops-ws.c:1346,7'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/ws/ops-ws.c:1347,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1352,3'
          Dst:             __lws_rx_flow_control
    - functionName:    rops_init_vhost_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2163
      functionLinenumberEnd: 2204
      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: 2209
      functionLinenumberEnd: 2217
      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: 1579
      functionLinenumberEnd: 1604
      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: 1363
      functionLinenumberEnd: 1575
      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:1382,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1383,3'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/ws/ops-ws.c:1386,7'
          Dst:             lws_write
        - Src:             'lib/roles/ws/ops-ws.c:1391,5'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/ops-ws.c:1392,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/ws/ops-ws.c:1394,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1399,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/ops-ws.c:1419,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/ws/ops-ws.c:1419,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1423,7'
          Dst:             lws_write
        - Src:             'lib/roles/ws/ops-ws.c:1443,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/ws/ops-ws.c:1443,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1449,7'
          Dst:             lws_write
    - functionName:    lws_get_close_payload
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 985
      functionLinenumberEnd: 986
      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: 979
      functionLinenumberEnd: 980
      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: 973
      functionLinenumberEnd: 974
      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: 967
      functionLinenumberEnd: 968
      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: 961
      functionLinenumberEnd: 962
      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: 947
      functionLinenumberEnd: 955
      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: 941
      functionLinenumberEnd: 942
      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: 882
      functionLinenumberEnd: 936
      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:900,21'
          Dst:             lws_realloc
        - Src:             'lib/roles/ws/ops-ws.c:902,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:932,2'
          Dst:             lws_validity_confirmed
        - Src:             'lib/roles/ws/ops-ws.c:933,2'
          Dst:             _lws_log
    - functionName:    lws_remove_wsi_from_draining_ext_list
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 836
      functionLinenumberEnd: 859
      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: 819
      functionLinenumberEnd: 832
      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: 813
      functionLinenumberEnd: 814
      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: 808
      functionLinenumberEnd: 809
      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: 992
      functionLinenumberEnd: 1008
      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:    16
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/ops-ws.c:996,2'
          Dst:             __assert_fail
    - functionName:    lws_ws_rx_sm
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 803
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         278
      ICount:          2253
      EdgeCount:       355
      CyclomaticComplexity: 79
      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:278,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/ops-ws.c:478,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/ws/ops-ws.c:100,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:171,4'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/ops-ws.c:186,5'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/ops-ws.c:207,5'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/ops-ws.c:231,4'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/ops-ws.c:233,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:240,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:241,4'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/ops-ws.c:260,4'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/ops-ws.c:272,4'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/ops-ws.c:330,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:381,25'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:426,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/ops-ws.c:429,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:445,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:476,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:490,8'
          Dst:             lws_check_utf8
        - Src:             'lib/roles/ws/ops-ws.c:492,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:502,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:509,8'
          Dst:             lws_partial_buffered
        - Src:             'lib/roles/ws/ops-ws.c:516,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:538,8'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/ws/ops-ws.c:546,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:547,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/ops-ws.c:553,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:561,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:567,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:580,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/ws/ops-ws.c:587,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:588,4'
          Dst:             lwsl_hexdump
        - Src:             'lib/roles/ws/ops-ws.c:591,4'
          Dst:             lws_validity_confirmed
        - Src:             'lib/roles/ws/ops-ws.c:603,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:679,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:703,9'
          Dst:             lws_check_utf8
        - Src:             'lib/roles/ws/ops-ws.c:706,6'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/ops-ws.c:709,6'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:710,6'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/ws/ops-ws.c:724,6'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:725,6'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/ops-ws.c:728,6'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:729,6'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/ws/ops-ws.c:760,7'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:762,13'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/ws/ops-ws.c:796,2'
          Dst:             _lws_log
    - functionName:    strtolower
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/client-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - tolower
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/client-ws.c:39,14'
          Dst:             tolower
    - functionName:    lws_client_ws_upgrade
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/client-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 231
      functionLinenumberEnd: 682
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         127
      ICount:          952
      EdgeCount:       170
      CyclomaticComplexity: 45
      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:297,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/ws/client-ws.c:251,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:251,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:251,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:258,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:258,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:258,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:264,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/client-ws.c:265,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:265,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:265,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:270,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/client-ws.c:272,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:272,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:272,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:276,3'
          Dst:             strtolower
        - Src:             'lib/roles/ws/client-ws.c:277,7'
          Dst:             strcmp
        - Src:             'lib/roles/ws/client-ws.c:278,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:278,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:278,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:285,3'
          Dst:             lws_tokenize_init
        - Src:             'lib/roles/ws/client-ws.c:287,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/ws/client-ws.c:289,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:289,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:289,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:296,8'
          Dst:             lws_tokenize
        - Src:             'lib/roles/ws/client-ws.c:299,10'
          Dst:             strncasecmp
        - Src:             'lib/roles/ws/client-ws.c:307,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:307,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:307,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:314,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/client-ws.c:317,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:317,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:317,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:319,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:319,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:319,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:327,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/client-ws.c:329,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:329,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:329,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:347,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/client-ws.c:348,13'
          Dst:             strlen
        - Src:             'lib/roles/ws/client-ws.c:351,8'
          Dst:             strncmp
        - Src:             'lib/roles/ws/client-ws.c:365,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:365,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:365,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:387,7'
          Dst:             strcmp
        - Src:             'lib/roles/ws/client-ws.c:397,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:397,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:397,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:406,27'
          Dst:             strcmp
        - Src:             'lib/roles/ws/client-ws.c:416,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:416,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:416,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:419,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:419,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:419,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:425,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:425,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:425,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:437,2'
          Dst:             lws_same_vh_protocol_insert
        - Src:             'lib/roles/ws/client-ws.c:600,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/client-ws.c:602,13'
          Dst:             strcmp
        - Src:             'lib/roles/ws/client-ws.c:603,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:603,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:603,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:611,6'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/ws/client-ws.c:612,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:612,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:612,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:629,2'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/ws/client-ws.c:632,2'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/ws/client-ws.c:640,2'
          Dst:             lws_role_transition
        - Src:             'lib/roles/ws/client-ws.c:643,2'
          Dst:             lws_validity_confirmed
        - Src:             'lib/roles/ws/client-ws.c:656,21'
          Dst:             lws_realloc
        - Src:             'lib/roles/ws/client-ws.c:659,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:659,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:659,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:665,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:665,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:665,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_generate_client_ws_handshake
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/client-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 227
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          195
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log_cx
        - lws_SHA1
        - lws_b64_encode_string
        - lws_get_random
        - lws_hdr_simple_ptr
        - lws_log_prepend_wsi
        - lws_snprintf
        - lws_strncpy
        - lwsl_wsi_get_cx
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/client-ws.c:139,6'
          Dst:             lws_get_random
        - Src:             'lib/roles/ws/client-ws.c:140,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:140,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:140,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:146,2'
          Dst:             lws_b64_encode_string
        - Src:             'lib/roles/ws/client-ws.c:151,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/ws/client-ws.c:156,36'
          Dst:             strlen
        - Src:             'lib/roles/ws/client-ws.c:159,2'
          Dst:             lws_strncpy
        - Src:             'lib/roles/ws/client-ws.c:160,7'
          Dst:             strlen
        - Src:             'lib/roles/ws/client-ws.c:161,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/ws/client-ws.c:162,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/client-ws.c:165,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/client-ws.c:163,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/ws/client-ws.c:207,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/ws/client-ws.c:215,6'
          Dst:             strlen
        - Src:             'lib/roles/ws/client-ws.c:220,2'
          Dst:             lws_SHA1
        - Src:             'lib/roles/ws/client-ws.c:222,2'
          Dst:             lws_b64_encode_string
    - functionName:    lws_ws_handshake_client
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/client-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 123
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          153
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lws_rxflow_cache
        - lws_ws_client_rx_parser_block
        - lwsl_wsi_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/client-ws.c:92,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:92,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:92,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:95,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:95,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:95,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:96,7'
          Dst:             lws_rxflow_cache
        - Src:             'lib/roles/ws/client-ws.c:97,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:97,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:97,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-ws.c:114,7'
          Dst:             lws_ws_client_rx_parser_block
        - Src:             'lib/roles/ws/client-ws.c:116,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:116,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:116,4'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_create_client_ws_object
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/client-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          112
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lws_zalloc
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/client-ws.c:52,12'
          Dst:             lws_zalloc
        - Src:             'lib/roles/ws/client-ws.c:54,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-ws.c:54,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-ws.c:54,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    _lws_ws_client_rx_payload_passthrough
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/client-parser-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          200
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - lws_check_utf8
        - lws_close_reason
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/client-parser-ws.c:66,8'
          Dst:             lws_check_utf8
        - Src:             'lib/roles/ws/client-parser-ws.c:69,5'
          Dst:             lws_close_reason
    - functionName:    lws_ws_client_rx_sm
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/client-parser-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 834
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         239
      ICount:          2135
      EdgeCount:       300
      CyclomaticComplexity: 63
      functionsReached:
        - __assert_fail
        - __lws_change_pollfd
        - _lws_log_cx
        - lws_callback_on_writable
        - lws_check_utf8
        - lws_close_reason
        - lws_log_prepend_wsi
        - lws_set_timeout
        - lws_validity_confirmed
        - lwsi_set_state
        - lwsl_hexdump_level_cx
        - lwsl_wsi_get_cx
        - user_callback_handle_rxflow
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/roles/ws/client-parser-ws.c:196,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/client-parser-ws.c:201,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/client-parser-ws.c:205,4'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/client-parser-ws.c:302,4'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/client-parser-ws.c:325,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/client-parser-ws.c:525,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/ws/client-parser-ws.c:239,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:239,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:239,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:264,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:264,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:264,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:277,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:277,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:277,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:281,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:281,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:281,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:287,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:287,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:287,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:296,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:296,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:296,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:313,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:313,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:313,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:378,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:378,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:378,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:479,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/client-parser-ws.c:497,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:497,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:497,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:515,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:515,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:515,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:531,8'
          Dst:             lws_check_utf8
        - Src:             'lib/roles/ws/client-parser-ws.c:541,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:541,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:541,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:545,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:545,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:545,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:559,8'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/ws/client-parser-ws.c:571,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:571,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:571,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:572,4'
          Dst:             __lws_change_pollfd
        - Src:             'lib/roles/ws/client-parser-ws.c:573,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/ws/client-parser-ws.c:576,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/client-parser-ws.c:577,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/ws/client-parser-ws.c:582,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:582,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:582,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:594,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:594,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:594,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:600,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:600,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:600,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:613,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/ws/client-parser-ws.c:620,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:620,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:620,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:621,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:621,4'
          Dst:             lwsl_hexdump_level_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:621,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:624,4'
          Dst:             lws_validity_confirmed
        - Src:             'lib/roles/ws/client-parser-ws.c:636,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:636,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:636,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:666,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:666,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:666,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:694,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:694,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:694,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:716,9'
          Dst:             lws_check_utf8
        - Src:             'lib/roles/ws/client-parser-ws.c:719,6'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/client-parser-ws.c:733,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:733,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:733,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:734,6'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/client-parser-ws.c:738,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:738,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:738,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:739,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:739,6'
          Dst:             lwsl_hexdump_level_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:739,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:759,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:759,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:759,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:795,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:795,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:795,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:813,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:813,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:813,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:820,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:820,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:820,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:826,2'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/client-parser-ws.c:830,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:830,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:830,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_ws_client_rx_parser_block
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/client-parser-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          238
      EdgeCount:       46
      CyclomaticComplexity: 14
      functionsReached:
        - _lws_ws_client_rx_payload_passthrough
        - lws_close_reason
        - lws_ws_client_rx_sm
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/client-parser-ws.c:116,10'
          Dst:             lws_ws_client_rx_sm
        - Src:             'lib/roles/ws/client-parser-ws.c:137,10'
          Dst:             _lws_ws_client_rx_payload_passthrough
        - Src:             'lib/roles/ws/client-parser-ws.c:155,5'
          Dst:             lws_close_reason
    - functionName:    lws_ws_frame_rest_is_payload
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/server-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 825
      functionLinenumberEnd: 1007
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         54
      ICount:          517
      EdgeCount:       73
      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:894,2'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:965,7'
          Dst:             lws_check_utf8
        - Src:             'lib/roles/ws/server-ws.c:968,4'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/server-ws.c:970,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:971,4'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/ws/server-ws.c:979,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:980,4'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/server-ws.c:983,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:984,4'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/ws/server-ws.c:991,7'
          Dst:             user_callback_handle_rxflow
    - functionName:    lws_parse_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/server-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1012
      functionLinenumberEnd: 1121
      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:1017,2'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:1028,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:1039,8'
          Dst:             lws_rxflow_cache
        - Src:             'lib/roles/ws/server-ws.c:1047,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:1074,8'
          Dst:             lws_ws_frame_rest_is_payload
        - Src:             'lib/roles/ws/server-ws.c:1075,4'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/server-ws.c:1083,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:1091,9'
          Dst:             lws_ws_rx_sm
        - Src:             'lib/roles/ws/server-ws.c:1104,9'
          Dst:             lws_ws_rx_sm
        - Src:             'lib/roles/ws/server-ws.c:1109,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:1118,2'
          Dst:             _lws_log
    - functionName:    lws_process_ws_upgrade
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/server-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 453
      functionLinenumberEnd: 651
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         55
      ICount:          325
      EdgeCount:       68
      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:489,4'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/server-ws.c:612,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/ws/server-ws.c:461,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:474,3'
          Dst:             lws_tokenize_init
        - Src:             'lib/roles/ws/server-ws.c:478,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/ws/server-ws.c:480,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:488,8'
          Dst:             lws_tokenize
        - Src:             'lib/roles/ws/server-ws.c:491,10'
          Dst:             strncasecmp
        - Src:             'lib/roles/ws/server-ws.c:499,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:544,2'
          Dst:             lws_tokenize_init
        - Src:             'lib/roles/ws/server-ws.c:548,6'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/ws/server-ws.c:550,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:567,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:573,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:575,3'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/ws/server-ws.c:597,11'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/ws/server-ws.c:600,5'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/ws/server-ws.c:611,7'
          Dst:             lws_tokenize
        - Src:             'lib/roles/ws/server-ws.c:615,8'
          Dst:             lws_tokenize_cstr
        - Src:             'lib/roles/ws/server-ws.c:616,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:620,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:621,11'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/ws/server-ws.c:624,5'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/ws/server-ws.c:634,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:643,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/server-ws.c:643,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/server-ws.c:643,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/server-ws.c:650,9'
          Dst:             lws_process_ws_upgrade2
    - functionName:    lws_process_ws_upgrade2
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/server-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 270
      functionLinenumberEnd: 449
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         46
      ICount:          347
      EdgeCount:       57
      CyclomaticComplexity: 13
      functionsReached:
        - _lws_log
        - atoi
        - handshake_0405
        - lws_check_basic_auth
        - lws_ensure_user_space
        - lws_get_peer_simple
        - lws_h2_ws_handshake
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_header_table_detach
        - lws_http_transaction_completed
        - lws_pvo_get_str
        - lws_return_http_status
        - lws_role_transition
        - lws_server_init_wsi_for_ws
        - lws_ss_event_helper
        - lws_ss_tag
        - lws_unauthorised_basic_auth
        - lws_vhost_protocol_options
        - lws_wsi_tag
        - lws_zalloc
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/roles/ws/server-ws.c:290,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/server-ws.c:387,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/ws/server-ws.c:285,9'
          Dst:             lws_vhost_protocol_options
        - Src:             'lib/roles/ws/server-ws.c:287,7'
          Dst:             lws_pvo_get_str
        - Src:             'lib/roles/ws/server-ws.c:289,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:290,11'
          Dst:             lws_check_basic_auth
        - Src:             'lib/roles/ws/server-ws.c:296,11'
          Dst:             lws_unauthorised_basic_auth
        - Src:             'lib/roles/ws/server-ws.c:298,4'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/ws/server-ws.c:299,11'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/ws/server-ws.c:320,3'
          Dst:             lws_role_transition
        - Src:             'lib/roles/ws/server-ws.c:330,4'
          Dst:             lws_ss_tag
        - Src:             'lib/roles/ws/server-ws.c:330,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:340,10'
          Dst:             lws_ss_event_helper
        - Src:             'lib/roles/ws/server-ws.c:350,12'
          Dst:             lws_zalloc
        - Src:             'lib/roles/ws/server-ws.c:352,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:356,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/server-ws.c:358,16'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/server-ws.c:358,11'
          Dst:             atoi
        - Src:             'lib/roles/ws/server-ws.c:361,6'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/ws/server-ws.c:362,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:373,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/server-ws.c:376,3'
          Dst:             lws_get_peer_simple
        - Src:             'lib/roles/ws/server-ws.c:376,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:389,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:397,8'
          Dst:             lws_h2_ws_handshake
        - Src:             'lib/roles/ws/server-ws.c:398,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:401,4'
          Dst:             lws_role_transition
        - Src:             'lib/roles/ws/server-ws.c:409,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:410,8'
          Dst:             handshake_0405
        - Src:             'lib/roles/ws/server-ws.c:411,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:418,6'
          Dst:             lws_server_init_wsi_for_ws
        - Src:             'lib/roles/ws/server-ws.c:419,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:422,2'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:445,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/ws/server-ws.c:445,2'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:446,2'
          Dst:             lws_header_table_detach
    - functionName:    handshake_0405
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/server-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 655
      functionLinenumberEnd: 814
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         41
      ICount:          387
      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
        - strcpy
        - user_callback_handle_rxflow
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/ws/server-ws.c:663,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/server-ws.c:664,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/server-ws.c:665,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:670,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/server-ws.c:672,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:682,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/server-ws.c:680,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/ws/server-ws.c:684,2'
          Dst:             lws_SHA1
        - Src:             'lib/roles/ws/server-ws.c:686,15'
          Dst:             lws_b64_encode_string
        - Src:             'lib/roles/ws/server-ws.c:689,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:694,6'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/ws/server-ws.c:704,2'
          Dst:             strcpy
        - Src:             'lib/roles/ws/server-ws.c:708,2'
          Dst:             strcpy
        - Src:             'lib/roles/ws/server-ws.c:713,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/server-ws.c:745,3'
          Dst:             strcpy
        - Src:             'lib/roles/ws/server-ws.c:746,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/ws/server-ws.c:749,8'
          Dst:             strcpy
        - Src:             'lib/roles/ws/server-ws.c:767,6'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/ws/server-ws.c:776,2'
          Dst:             strcpy
        - Src:             'lib/roles/ws/server-ws.c:780,2'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:785,6'
          Dst:             lws_write
        - Src:             'lib/roles/ws/server-ws.c:788,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:794,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/server-ws.c:799,4'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/server-ws.c:800,17'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/server-ws.c:802,4'
          Dst:             lws_find_mount
    - functionName:    lws_raw_skt_connect
      functionSourceFile: '/src/libwebsockets/lib/roles/raw-skt/ops-raw-skt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          152
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - lws_client_create_tls
        - lws_inform_client_conn_fail
        - lws_set_timeout
        - lws_ssl_client_connect2
        - lwsi_set_state
        - strlen
        - user_callback_handle_rxflow
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/roles/raw-skt/ops-raw-skt.c:37,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:37,10'
          Dst:             lws_client_create_tls
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:42,49'
          Dst:             strlen
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:42,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:51,7'
          Dst:             lws_ssl_client_connect2
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:54,11'
          Dst:             strlen
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:53,4'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:64,7'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:68,4'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:73,2'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:74,2'
          Dst:             lwsi_set_state
    - functionName:    rops_client_bind_raw_skt
      functionSourceFile: '/src/libwebsockets/lib/roles/raw-skt/ops-raw-skt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 329
      functionLinenumberEnd: 349
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          86
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - lws_ensure_user_space
        - lws_role_transition
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:335,8'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:344,6'
          Dst:             strcmp
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:345,3'
          Dst:             lws_role_transition
    - functionName:    rops_handle_POLLIN_raw_skt
      functionSourceFile: '/src/libwebsockets/lib/roles/raw-skt/ops-raw-skt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 286
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         74
      ICount:          484
      EdgeCount:       96
      CyclomaticComplexity: 24
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - lws_buflist_aware_finished_consuming
        - lws_buflist_aware_read
        - lws_change_pollfd
        - lws_client_connect_3_connect
        - lws_close_free_wsi
        - lws_has_buffered_out
        - lws_issue_raw
        - lws_log_prepend_wsi
        - lws_raw_skt_connect
        - lws_server_socket_service_ssl
        - lwsl_wsi_get_cx
        - user_callback_handle_rxflow
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/roles/raw-skt/ops-raw-skt.c:132,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/raw-skt/ops-raw-skt.c:183,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:95,6'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:100,7'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:114,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:114,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:114,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:117,8'
          Dst:             lws_server_socket_service_ssl
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:130,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:130,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:130,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:143,8'
          Dst:             lws_raw_skt_connect
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:182,15'
          Dst:             lws_buflist_aware_read
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:187,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:187,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:187,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:189,9'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:214,8'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:222,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:222,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:222,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:226,8'
          Dst:             lws_buflist_aware_finished_consuming
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:246,11'
          Dst:             lws_client_connect_3_connect
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:249,10'
          Dst:             lws_raw_skt_connect
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:258,6'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:264,6'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:268,3'
          Dst:             _lws_log
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:283,2'
          Dst:             lws_close_free_wsi
    - functionName:    rops_adoption_bind_raw_skt
      functionSourceFile: '/src/libwebsockets/lib/roles/raw-skt/ops-raw-skt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 290
      functionLinenumberEnd: 323
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          144
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - lws_bind_protocol
        - lws_realloc
        - lws_role_transition
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:304,14'
          Dst:             lws_realloc
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:311,2'
          Dst:             lws_role_transition
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:315,3'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/raw-skt/ops-raw-skt.c:318,3'
          Dst:             lws_bind_protocol
    - functionName:    rops_adoption_bind_raw_file
      functionSourceFile: '/src/libwebsockets/lib/roles/raw-file/ops-raw-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 91
      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:79,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: 34
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          162
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - _lws_log_cx
        - ioctl
        - 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:38,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/raw-file/ops-raw-file.c:39,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/raw-file/ops-raw-file.c:39,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/raw-file/ops-raw-file.c:39,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/raw-file/ops-raw-file.c:42,7'
          Dst:             lws_callback_as_writeable
        - Src:             'lib/roles/raw-file/ops-raw-file.c:50,7'
          Dst:             ioctl
        - Src:             'lib/roles/raw-file/ops-raw-file.c:52,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/raw-file/ops-raw-file.c:52,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/raw-file/ops-raw-file.c:52,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/raw-file/ops-raw-file.c:56,7'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/raw-file/ops-raw-file.c:59,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/raw-file/ops-raw-file.c:59,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/raw-file/ops-raw-file.c:59,4'
          Dst:             lws_log_prepend_wsi
    - 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:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_accept_pause_cb
      functionSourceFile: '/src/libwebsockets/lib/roles/listen/ops-listen.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 34
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log_cx
        - lws_change_pollfd
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/listen/ops-listen.c:32,6'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/listen/ops-listen.c:33,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/listen/ops-listen.c:33,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/listen/ops-listen.c:33,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    rops_handle_POLLIN_listen
      functionSourceFile: '/src/libwebsockets/lib/roles/listen/ops-listen.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         58
      ICount:          404
      EdgeCount:       79
      CyclomaticComplexity: 23
      functionsReached:
        - __errno_location
        - _lws_log
        - _lws_log_cx
        - accept
        - close
        - lws_accept_pause_cb
        - lws_adopt_descriptor_vhost
        - lws_change_pollfd
        - lws_log_prepend_wsi
        - lws_plat_set_socket_options
        - lws_poll_listen_fd
        - lws_sul_schedule
        - lwsl_wsi_get_cx
        - ntohs
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/listen/ops-listen.c:101,20'
          Dst:             accept
        - Src:             'lib/roles/listen/ops-listen.c:113,12'
          Dst:             __errno_location
        - Src:             'lib/roles/listen/ops-listen.c:119,4'
          Dst:             _lws_log
        - Src:             'lib/roles/listen/ops-listen.c:132,9'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/listen/ops-listen.c:133,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/listen/ops-listen.c:133,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/listen/ops-listen.c:133,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/listen/ops-listen.c:135,5'
          Dst:             lws_sul_schedule
        - Src:             'lib/roles/listen/ops-listen.c:135,5'
          Dst:             lws_accept_pause_cb
        - Src:             'lib/roles/listen/ops-listen.c:145,4'
          Dst:             close
        - Src:             'lib/roles/listen/ops-listen.c:150,3'
          Dst:             lws_plat_set_socket_options
        - Src:             'lib/roles/listen/ops-listen.c:153,3'
          Dst:             ntohs
        - Src:             'lib/roles/listen/ops-listen.c:153,3'
          Dst:             ntohs
        - Src:             'lib/roles/listen/ops-listen.c:153,3'
          Dst:             _lws_log
        - Src:             'lib/roles/listen/ops-listen.c:179,4'
          Dst:             _lws_log
        - Src:             'lib/roles/listen/ops-listen.c:180,4'
          Dst:             close
        - Src:             'lib/roles/listen/ops-listen.c:198,10'
          Dst:             lws_adopt_descriptor_vhost
        - Src:             'lib/roles/listen/ops-listen.c:209,4'
          Dst:             _lws_log
        - Src:             'lib/roles/listen/ops-listen.c:229,4'
          Dst:             lws_poll_listen_fd
    - functionName:    accept
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rops_handle_POLLOUT_listen
      functionSourceFile: '/src/libwebsockets/lib/roles/listen/ops-listen.c'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_http_client_read
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2223
      functionLinenumberEnd: 2473
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         109
      ICount:          796
      EdgeCount:       148
      CyclomaticComplexity: 41
      functionsReached:
        - _lws_log
        - char_to_hex
        - lws_buflist_aware_finished_consuming
        - lws_buflist_aware_read
        - lws_change_pollfd
        - lws_http_transaction_completed_client
        - lwsl_hexdump_level
        - user_callback_handle_rxflow
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/roles/http/client/client-http.c:2295,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:2239,13'
          Dst:             lws_buflist_aware_read
        - Src:             'lib/roles/http/client/client-http.c:2252,6'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/http/client/client-http.c:2256,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2257,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2263,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2270,8'
          Dst:             lws_http_transaction_completed_client
        - Src:             'lib/roles/http/client/client-http.c:2301,8'
          Dst:             char_to_hex
        - Src:             'lib/roles/http/client/client-http.c:2303,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2307,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2315,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2333,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2334,5'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/http/client/client-http.c:2344,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2355,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2356,5'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/http/client/client-http.c:2366,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2367,5'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/http/client/client-http.c:2376,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2414,8'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/http/client/client-http.c:2418,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2424,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2461,6'
          Dst:             lws_http_transaction_completed_client
        - Src:             'lib/roles/http/client/client-http.c:2462,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2468,6'
          Dst:             lws_buflist_aware_finished_consuming
    - functionName:    lws_http_transaction_completed_client
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 516
      functionLinenumberEnd: 584
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          181
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - __lws_header_table_detach
        - _lws_generic_transaction_completed_active_conn
        - _lws_header_table_reset
        - _lws_log
        - lws_callback_on_writable
        - lws_set_timeout
        - lws_wsi_tag
        - lwsi_set_state
        - user_callback_handle_rxflow
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:520,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:520,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:527,6'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/http/client/client-http.c:530,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:542,6'
          Dst:             _lws_generic_transaction_completed_active_conn
        - Src:             'lib/roles/http/client/client-http.c:552,4'
          Dst:             __lws_header_table_detach
        - Src:             'lib/roles/http/client/client-http.c:555,5'
          Dst:             _lws_header_table_reset
        - Src:             'lib/roles/http/client/client-http.c:567,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:573,2'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:578,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:580,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:580,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:581,2'
          Dst:             lws_callback_on_writable
    - functionName:    lws_http_basic_auth_gen
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2215
      functionLinenumberEnd: 2216
      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:2216,44'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:2216,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: 2192
      functionLinenumberEnd: 2212
      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:2193,13'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:2201,20'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2208,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: 1895
      functionLinenumberEnd: 1992
      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:1901,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:1898,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/client/client-http.c:1912,11'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1917,23'
          Dst:             strchr
        - Src:             'lib/roles/http/client/client-http.c:1923,10'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1928,11'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1932,16'
          Dst:             open
        - Src:             'lib/roles/http/client/client-http.c:1934,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1937,9'
          Dst:             fstat
        - Src:             'lib/roles/http/client/client-http.c:1938,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1949,10'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1961,8'
          Dst:             read
        - Src:             'lib/roles/http/client/client-http.c:1963,5'
          Dst:             close
        - Src:             'lib/roles/http/client/client-http.c:1964,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1975,5'
          Dst:             close
        - Src:             'lib/roles/http/client/client-http.c:1984,10'
          Dst:             lws_snprintf
    - functionName:    lws_http_mp_sm_destroy
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1886
      functionLinenumberEnd: 1891
      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:1888,3'
          Dst:             lws_realloc
    - functionName:    lws_http_mp_sm_init
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1788
      functionLinenumberEnd: 1882
      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:1795,9'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/client/client-http.c:1799,13'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/client/client-http.c:1803,2'
          Dst:             lws_hex_random
        - Src:             'lib/roles/http/client/client-http.c:1806,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1807,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/client/client-http.c:1809,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1825,16'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/client/client-http.c:1830,16'
          Dst:             strchr
        - Src:             'lib/roles/http/client/client-http.c:1836,22'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:1838,24'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1842,8'
          Dst:             stat
        - Src:             'lib/roles/http/client/client-http.c:1843,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1853,23'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1856,10'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:1860,21'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:1864,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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_client_http_multipart
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1691
      functionLinenumberEnd: 1725
      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:1696,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/client/client-http.c:1699,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1707,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1710,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1715,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1719,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1722,8'
          Dst:             lws_snprintf
    - functionName:    lws_http_multipart_headers
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1662
      functionLinenumberEnd: 1685
      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:1666,6'
          Dst:             lws_get_random
        - Src:             'lib/roles/http/client/client-http.c:1670,2'
          Dst:             lws_b64_encode_string
        - Src:             'lib/roles/http/client/client-http.c:1674,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1677,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/client/client-http.c:1682,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: 1035
      functionLinenumberEnd: 1036
      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_client_reset
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2497
      functionLinenumberEnd: 2626
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         50
      ICount:          407
      EdgeCount:       67
      CyclomaticComplexity: 19
      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:2513,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:2513,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2517,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2536,18'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:2539,19'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:2550,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2568,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2575,7'
          Dst:             lws_client_stash_create
        - Src:             'lib/roles/http/client/client-http.c:2585,2'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/roles/http/client/client-http.c:2602,2'
          Dst:             __lws_reset_wsi
    - functionName:    lws_http_digest_auth
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 619
      functionLinenumberEnd: 1028
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         196
      ICount:          1265
      EdgeCount:       263
      CyclomaticComplexity: 69
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - atoi
        - lws_client_reset
        - lws_genhash_destroy
        - lws_genhash_init
        - lws_genhash_size
        - lws_genhash_update
        - lws_get_context
        - lws_get_network_wsi
        - lws_hdr_copy
        - lws_hdr_simple_create
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_hex_from_byte_array
        - lws_hex_len_to_byte_array
        - lws_hex_random
        - lws_log_prepend_wsi
        - lws_realloc
        - lws_snprintf
        - lws_strncpy
        - lws_tokenize
        - lws_tokenize_init
        - lwsl_hexdump
        - lwsl_wsi_get_cx
        - strchr
        - strcpy
        - strlen
        - strncasecmp
        - strncmp
        - strncpy
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/roles/http/client/client-http.c:673,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/http/client/client-http.c:719,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:633,2'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/client/client-http.c:636,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:644,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:644,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:644,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:648,6'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/client/client-http.c:650,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:650,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:650,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:667,2'
          Dst:             lws_tokenize_init
        - Src:             'lib/roles/http/client/client-http.c:672,7'
          Dst:             lws_tokenize
        - Src:             'lib/roles/http/client/client-http.c:678,9'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/client/client-http.c:695,10'
          Dst:             strncmp
        - Src:             'lib/roles/http/client/client-http.c:699,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:699,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:699,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:724,5'
          Dst:             strncpy
        - Src:             'lib/roles/http/client/client-http.c:730,5'
          Dst:             strncpy
        - Src:             'lib/roles/http/client/client-http.c:737,5'
          Dst:             strncpy
        - Src:             'lib/roles/http/client/client-http.c:744,6'
          Dst:             lws_genhash_size
        - Src:             'lib/roles/http/client/client-http.c:747,9'
          Dst:             lws_hex_len_to_byte_array
        - Src:             'lib/roles/http/client/client-http.c:758,5'
          Dst:             strncpy
        - Src:             'lib/roles/http/client/client-http.c:763,12'
          Dst:             strncmp
        - Src:             'lib/roles/http/client/client-http.c:764,8'
          Dst:             strcpy
        - Src:             'lib/roles/http/client/client-http.c:767,19'
          Dst:             strchr
        - Src:             'lib/roles/http/client/client-http.c:778,31'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/client/client-http.c:780,6'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/client/client-http.c:781,38'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/client/client-http.c:783,6'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/client/client-http.c:784,38'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/client/client-http.c:786,6'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/client/client-http.c:787,38'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/client/client-http.c:789,6'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/client/client-http.c:791,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:791,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:791,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:818,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:818,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:818,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:827,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:827,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:827,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:835,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:835,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:835,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:855,35'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:856,4'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:856,23'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:857,4'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:859,16'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/client/client-http.c:863,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:866,7'
          Dst:             lws_genhash_init
        - Src:             'lib/roles/http/client/client-http.c:867,5'
          Dst:             lws_genhash_update
        - Src:             'lib/roles/http/client/client-http.c:870,5'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:871,4'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:877,6'
          Dst:             lws_genhash_size
        - Src:             'lib/roles/http/client/client-http.c:876,3'
          Dst:             lws_hex_from_byte_array
        - Src:             'lib/roles/http/client/client-http.c:879,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:886,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:890,7'
          Dst:             lws_genhash_init
        - Src:             'lib/roles/http/client/client-http.c:891,10'
          Dst:             lws_genhash_update
        - Src:             'lib/roles/http/client/client-http.c:894,10'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:895,4'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:896,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:901,6'
          Dst:             lws_genhash_size
        - Src:             'lib/roles/http/client/client-http.c:900,3'
          Dst:             lws_hex_from_byte_array
        - Src:             'lib/roles/http/client/client-http.c:903,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:906,18'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/client/client-http.c:906,3'
          Dst:             lws_hex_random
        - Src:             'lib/roles/http/client/client-http.c:907,3'
          Dst:             lws_hex_from_byte_array
        - Src:             'lib/roles/http/client/client-http.c:911,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:914,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:917,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:917,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:917,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:920,7'
          Dst:             lws_genhash_init
        - Src:             'lib/roles/http/client/client-http.c:921,5'
          Dst:             lws_genhash_update
        - Src:             'lib/roles/http/client/client-http.c:922,5'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:923,4'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:924,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:924,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:924,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:929,6'
          Dst:             lws_genhash_size
        - Src:             'lib/roles/http/client/client-http.c:931,6'
          Dst:             lws_genhash_size
        - Src:             'lib/roles/http/client/client-http.c:928,3'
          Dst:             lws_hex_from_byte_array
        - Src:             'lib/roles/http/client/client-http.c:934,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:942,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:952,3'
          Dst:             lwsl_hexdump
        - Src:             'lib/roles/http/client/client-http.c:954,7'
          Dst:             lws_hdr_simple_create
        - Src:             'lib/roles/http/client/client-http.c:956,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:956,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:956,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:960,10'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/http/client/client-http.c:975,24'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:976,24'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:977,23'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:982,5'
          Dst:             lws_tokenize_init
        - Src:             'lib/roles/http/client/client-http.c:984,21'
          Dst:             lws_tokenize
        - Src:             'lib/roles/http/client/client-http.c:987,11'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/client/client-http.c:996,19'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/client/client-http.c:997,17'
          Dst:             atoi
        - Src:             'lib/roles/http/client/client-http.c:1009,8'
          Dst:             lws_client_reset
        - Src:             'lib/roles/http/client/client-http.c:1010,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:1010,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:1010,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:1025,2'
          Dst:             lws_realloc
    - functionName:    lws_http_client_http_response
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 588
      functionLinenumberEnd: 593
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          44
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_client_interpret_server_handshake
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1041
      functionLinenumberEnd: 1653
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         229
      ICount:          1683
      EdgeCount:       313
      CyclomaticComplexity: 86
      functionsReached:
        - _lws_header_table_reset
        - _lws_log
        - _lws_log_cx
        - atoi
        - atoll
        - lws_callback_on_writable
        - lws_client_reset
        - lws_client_stash_create
        - lws_client_ws_upgrade
        - lws_close_free_wsi
        - lws_conmon_ss_json
        - lws_dll2_remove
        - lws_ensure_user_space
        - lws_get_network_wsi
        - lws_get_opaque_user_data
        - lws_hdr_simple_create
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_http_client_http_response
        - lws_http_digest_auth
        - lws_http_transaction_completed_client
        - lws_inform_client_conn_fail
        - lws_log_prepend_wsi
        - lws_now_usecs
        - lws_parse_set_cookie
        - lws_parse_uri_create
        - lws_parse_uri_destroy
        - lws_realloc
        - lws_role_transition
        - lws_set_timeout
        - lws_strncpy
        - lws_wsi_tag
        - lwsi_set_state
        - lwsl_wsi_get_cx
        - strcasecmp
        - strchr
        - strcmp
        - strlen
        - strrchr
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/roles/http/client/client-http.c:1620,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:1046,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/http/client/client-http.c:1056,7'
          Dst:             lws_now_usecs
        - Src:             'lib/roles/http/client/client-http.c:1076,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:1076,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1078,4'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/client/client-http.c:1085,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:1085,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1087,4'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/client/client-http.c:1103,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1104,3'
          Dst:             lws_parse_set_cookie
        - Src:             'lib/roles/http/client/client-http.c:1122,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1131,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1136,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1141,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1144,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1156,6'
          Dst:             atoi
        - Src:             'lib/roles/http/client/client-http.c:1159,18'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1162,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1167,48'
          Dst:             lws_http_digest_auth
        - Src:             'lib/roles/http/client/client-http.c:1189,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:1189,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:1189,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:1191,4'
          Dst:             _lws_header_table_reset
        - Src:             'lib/roles/http/client/client-http.c:1197,10'
          Dst:             lws_hdr_simple_create
        - Src:             'lib/roles/http/client/client-http.c:1202,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:1203,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/client/client-http.c:1211,3'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/http/client/client-http.c:1227,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1246,44'
          Dst:             lws_get_opaque_user_data
        - Src:             'lib/roles/http/client/client-http.c:1249,5'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/roles/http/client/client-http.c:1264,31'
          Dst:             strchr
        - Src:             'lib/roles/http/client/client-http.c:1268,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1277,20'
          Dst:             strchr
        - Src:             'lib/roles/http/client/client-http.c:1278,11'
          Dst:             lws_parse_uri_create
        - Src:             'lib/roles/http/client/client-http.c:1288,9'
          Dst:             strcmp
        - Src:             'lib/roles/http/client/client-http.c:1288,33'
          Dst:             strcmp
        - Src:             'lib/roles/http/client/client-http.c:1298,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1303,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1304,27'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1304,5'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/client/client-http.c:1310,16'
          Dst:             strrchr
        - Src:             'lib/roles/http/client/client-http.c:1312,5'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/client/client-http.c:1327,15'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1328,13'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1329,28'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:1332,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1341,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1342,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1347,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1365,9'
          Dst:             lws_client_stash_create
        - Src:             'lib/roles/http/client/client-http.c:1366,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1367,6'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/client/client-http.c:1371,5'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/client/client-http.c:1391,8'
          Dst:             lws_client_reset
        - Src:             'lib/roles/http/client/client-http.c:1392,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1406,3'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/http/client/client-http.c:1410,4'
          Dst:             lws_parse_uri_destroy
        - Src:             'lib/roles/http/client/client-http.c:1447,5'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/http/client/client-http.c:1452,5'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/client/client-http.c:1486,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1487,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1492,8'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/client/client-http.c:1495,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1504,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1505,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1512,23'
          Dst:             atoll
        - Src:             'lib/roles/http/client/client-http.c:1517,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1526,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1544,7'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/http/client/client-http.c:1545,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1566,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:1581,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:1581,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1592,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1595,12'
          Dst:             lws_http_client_http_response
        - Src:             'lib/roles/http/client/client-http.c:1596,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1598,15'
          Dst:             strcmp
        - Src:             'lib/roles/http/client/client-http.c:1599,14'
          Dst:             lws_http_transaction_completed_client
        - Src:             'lib/roles/http/client/client-http.c:1620,10'
          Dst:             lws_client_ws_upgrade
        - Src:             'lib/roles/http/client/client-http.c:1637,13'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:1639,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/roles/http/client/client-http.c:1642,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1647,2'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/http/client/client-http.c:1650,3'
          Dst:             lws_parse_uri_destroy
    - functionName:    lws_generate_client_handshake
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1997
      functionLinenumberEnd: 2184
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         69
      ICount:          594
      EdgeCount:       93
      CyclomaticComplexity: 26
      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
        - lws_wsi_client_stash_item
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:1998,26'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:2002,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:2014,7'
          Dst:             strcmp
        - Src:             'lib/roles/http/client/client-http.c:2015,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:2016,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2021,9'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/client/client-http.c:2024,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2029,4'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/client/client-http.c:2036,3'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/client/client-http.c:2038,3'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/http/client/client-http.c:2056,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:2065,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2069,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2073,21'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/roles/http/client/client-http.c:2075,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2078,23'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/roles/http/client/client-http.c:2082,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2085,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2093,16'
          Dst:             lws_http_multipart_headers
        - Src:             'lib/roles/http/client/client-http.c:2129,14'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2131,9'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/client/client-http.c:2141,7'
          Dst:             lws_generate_client_ws_handshake
        - Src:             'lib/roles/http/client/client-http.c:2149,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2156,3'
          Dst:             lws_cookie_send_cookies
        - Src:             'lib/roles/http/client/client-http.c:2166,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2167,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2168,3'
          Dst:             lws_client_http_body_pending
        - Src:             'lib/roles/http/client/client-http.c:2171,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2173,39'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/client/client-http.c:2174,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/client/client-http.c:2178,22'
          Dst:             lws_now_usecs
    - functionName:    lws_http_client_socket_service
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 510
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         141
      ICount:          929
      EdgeCount:       186
      CyclomaticComplexity: 47
      functionsReached:
        - __assert_fail
        - __errno_location
        - _lws_log
        - atoi
        - lws_buflist_aware_finished_consuming
        - lws_buflist_aware_read
        - lws_buflist_total_len
        - lws_callback_on_writable
        - lws_change_pollfd
        - lws_client_connect_2_dnsreq_MAY_CLOSE_WSI
        - lws_client_connect_3_connect
        - lws_client_create_tls
        - lws_client_interpret_server_handshake
        - lws_close_free_wsi
        - lws_generate_client_handshake
        - lws_h2_issue_preface
        - lws_has_buffered_out
        - lws_inform_client_conn_fail
        - lws_parse
        - lws_role_call_alpn_negotiated
        - lws_set_timeout
        - lws_snprintf
        - lws_ssl_capable_write
        - lws_ssl_client_connect2
        - lws_wsi_tag
        - lwsi_set_state
        - recv
        - strlen
        - strncmp
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib/roles/http/client/client-http.c:51,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/http/client/client-http.c:295,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:58,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:58,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:59,8'
          Dst:             lws_client_connect_2_dnsreq_MAY_CLOSE_WSI
        - Src:             'lib/roles/http/client/client-http.c:61,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:75,8'
          Dst:             lws_client_connect_3_connect
        - Src:             'lib/roles/http/client/client-http.c:76,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:108,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:108,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:115,12'
          Dst:             recv
        - Src:             'lib/roles/http/client/client-http.c:117,8'
          Dst:             __errno_location
        - Src:             'lib/roles/http/client/client-http.c:118,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:121,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:129,17'
          Dst:             strncmp
        - Src:             'lib/roles/http/client/client-http.c:137,7'
          Dst:             atoi
        - Src:             'lib/roles/http/client/client-http.c:139,4'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:145,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:149,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c: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:213,8'
          Dst:             lws_ssl_client_connect2
        - Src:             'lib/roles/http/client/client-http.c:223,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:224,5'
          Dst:             lws_role_call_alpn_negotiated
        - Src:             'lib/roles/http/client/client-http.c:242,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:250,9'
          Dst:             lws_h2_issue_preface
        - Src:             'lib/roles/http/client/client-http.c:256,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:271,7'
          Dst:             lws_generate_client_handshake
        - Src:             'lib/roles/http/client/client-http.c:281,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:282,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/http/client/client-http.c:289,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:289,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:294,7'
          Dst:             lws_ssl_capable_write
        - Src:             'lib/roles/http/client/client-http.c:297,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:298,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/http/client/client-http.c:303,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/client/client-http.c:307,40'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/client/client-http.c:308,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:309,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:310,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:315,5'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/client/client-http.c:325,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:329,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:340,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:343,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/client/client-http.c:353,40'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/client/client-http.c:367,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:368,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:380,8'
          Dst:             lws_buflist_total_len
        - Src:             'lib/roles/http/client/client-http.c:381,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:383,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:383,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:391,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/http/client/client-http.c:422,15'
          Dst:             lws_buflist_aware_read
        - Src:             'lib/roles/http/client/client-http.c:423,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:435,8'
          Dst:             lws_parse
        - Src:             'lib/roles/http/client/client-http.c:436,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:457,8'
          Dst:             lws_buflist_aware_finished_consuming
        - Src:             'lib/roles/http/client/client-http.c:470,5'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/client/client-http.c:491,10'
          Dst:             lws_client_interpret_server_handshake
        - Src:             'lib/roles/http/client/client-http.c:494,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:494,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:497,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:500,49'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:500,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/roles/http/client/client-http.c:502,3'
          Dst:             lws_close_free_wsi
    - functionName:    recv
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_netlink_coldplug_done_cb
      functionSourceFile: '/src/libwebsockets/lib/roles/netlink/ops-netlink.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_state_transition_steps
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/netlink/ops-netlink.c:55,2'
          Dst:             lws_state_transition_steps
    - functionName:    rops_handle_POLLIN_netlink
      functionSourceFile: '/src/libwebsockets/lib/roles/netlink/ops-netlink.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 542
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         160
      ICount:          1432
      EdgeCount:       193
      CyclomaticComplexity: 35
      functionsReached:
        - _lws_log_cx
        - _lws_route_get_uidx
        - _lws_route_pt_close_unroutable
        - _lws_route_remove
        - _lws_route_table_ifdown
        - _lws_routing_entry_dump
        - _lws_routing_table_dump
        - lws_dll2_add_tail
        - lws_log_prepend_context
        - lws_netlink_coldplug_done_cb
        - lws_realloc
        - lws_sa46_copy_address
        - lws_sa46_write_numeric_address
        - lws_smd_msg_printf
        - lws_sul_schedule
        - lwsl_context_get_cx
        - recvmsg
        - strncpy
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/roles/netlink/ops-netlink.c:134,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/netlink/ops-netlink.c:145,5'
          Branch Sides:    []
        - Branch String:   'lib/roles/netlink/ops-netlink.c:199,5'
          Branch Sides:    []
        - Branch String:   'lib/roles/netlink/ops-netlink.c:272,5'
          Branch Sides:    []
        - Branch String:   'lib/roles/netlink/ops-netlink.c:295,4'
          Branch Sides:    []
        - Branch String:   'lib/roles/netlink/ops-netlink.c:367,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/netlink/ops-netlink.c:94,20'
          Dst:             recvmsg
        - Src:             'lib/roles/netlink/ops-netlink.c:96,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:96,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:96,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:120,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:120,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:120,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:143,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:143,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:143,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:147,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:147,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:147,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:156,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:156,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:156,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:169,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:169,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:169,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:172,5'
          Dst:             _lws_route_table_ifdown
        - Src:             'lib/roles/netlink/ops-netlink.c:193,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:193,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:193,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:202,6'
          Dst:             lws_sa46_copy_address
        - Src:             'lib/roles/netlink/ops-netlink.c:204,6'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/roles/netlink/ops-netlink.c:205,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:205,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:205,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:209,6'
          Dst:             lws_sa46_copy_address
        - Src:             'lib/roles/netlink/ops-netlink.c:211,6'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/roles/netlink/ops-netlink.c:212,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:212,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:212,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:215,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:215,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:215,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:219,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:219,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:219,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:222,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:222,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:222,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:225,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:225,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:225,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:228,6'
          Dst:             strncpy
        - Src:             'lib/roles/netlink/ops-netlink.c:230,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:230,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:230,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:233,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:233,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:233,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:248,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:248,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:248,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:259,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:259,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:259,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:264,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:264,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:264,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:271,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:271,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:271,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:274,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:274,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:274,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:280,4'
          Dst:             _lws_route_pt_close_unroutable
        - Src:             'lib/roles/netlink/ops-netlink.c:285,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:285,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:285,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:298,5'
          Dst:             lws_sa46_copy_address
        - Src:             'lib/roles/netlink/ops-netlink.c:301,5'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/roles/netlink/ops-netlink.c:303,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:303,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:303,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:305,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:305,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:305,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:312,6'
          Dst:             lws_sa46_copy_address
        - Src:             'lib/roles/netlink/ops-netlink.c:314,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:314,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:314,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:317,5'
          Dst:             lws_sa46_copy_address
        - Src:             'lib/roles/netlink/ops-netlink.c:320,5'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/roles/netlink/ops-netlink.c:321,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:321,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:321,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:324,5'
          Dst:             lws_sa46_copy_address
        - Src:             'lib/roles/netlink/ops-netlink.c:327,5'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/roles/netlink/ops-netlink.c:328,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:328,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:328,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:336,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:336,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:336,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:342,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:342,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:342,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:345,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:345,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:345,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:349,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:349,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:349,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:353,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:353,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:353,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:357,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:357,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:357,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:373,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:373,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:373,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:376,4'
          Dst:             _lws_route_remove
        - Src:             'lib/roles/netlink/ops-netlink.c:389,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:389,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:389,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:401,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:401,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:401,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:405,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:405,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:405,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:409,4'
          Dst:             _lws_routing_entry_dump
        - Src:             'lib/roles/netlink/ops-netlink.c:416,10'
          Dst:             lws_realloc
        - Src:             'lib/roles/netlink/ops-netlink.c:418,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:418,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:418,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:439,4'
          Dst:             _lws_route_remove
        - Src:             'lib/roles/netlink/ops-netlink.c:443,16'
          Dst:             _lws_route_get_uidx
        - Src:             'lib/roles/netlink/ops-netlink.c:444,4'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/roles/netlink/ops-netlink.c:447,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:447,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:447,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:454,4'
          Dst:             _lws_route_pt_close_unroutable
        - Src:             'lib/roles/netlink/ops-netlink.c:466,10'
          Dst:             lws_smd_msg_printf
        - Src:             'lib/roles/netlink/ops-netlink.c:475,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:475,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:475,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:477,4'
          Dst:             _lws_routing_entry_dump
        - Src:             'lib/roles/netlink/ops-netlink.c:481,4'
          Dst:             _lws_route_remove
        - Src:             'lib/roles/netlink/ops-netlink.c:484,4'
          Dst:             _lws_route_pt_close_unroutable
        - Src:             'lib/roles/netlink/ops-netlink.c:490,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:490,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:490,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:492,4'
          Dst:             _lws_routing_entry_dump
        - Src:             'lib/roles/netlink/ops-netlink.c:514,9'
          Dst:             lws_smd_msg_printf
        - Src:             'lib/roles/netlink/ops-netlink.c:522,3'
          Dst:             _lws_routing_table_dump
        - Src:             'lib/roles/netlink/ops-netlink.c:535,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/roles/netlink/ops-netlink.c:535,3'
          Dst:             lws_netlink_coldplug_done_cb
    - functionName:    recvmsg
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rops_pt_init_destroy_netlink
      functionSourceFile: '/src/libwebsockets/lib/roles/netlink/ops-netlink.c'
      linkageType:     InternalLinkage
      functionLinenumber: 553
      functionLinenumberEnd: 680
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          244
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - __lws_lc_tag
        - __lws_lc_untag
        - __lws_wsi_create_with_role
        - _lws_log_cx
        - _lws_route_table_empty
        - bind
        - close
        - getpid
        - lws_dll2_remove
        - lws_log_prepend_context
        - lws_plat_set_nonblocking
        - lws_realloc
        - lws_wsi_inject_to_loop
        - lwsl_context_get_cx
        - sendmsg
        - socket
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/netlink/ops-netlink.c:567,3'
          Dst:             _lws_route_table_empty
        - Src:             'lib/roles/netlink/ops-netlink.c:579,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:579,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:579,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:586,8'
          Dst:             __lws_wsi_create_with_role
        - Src:             'lib/roles/netlink/ops-netlink.c:592,21'
          Dst:             socket
        - Src:             'lib/roles/netlink/ops-netlink.c:594,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:594,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:594,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:598,2'
          Dst:             lws_plat_set_nonblocking
        - Src:             'lib/roles/netlink/ops-netlink.c:600,2'
          Dst:             __lws_lc_tag
        - Src:             'lib/roles/netlink/ops-netlink.c:612,6'
          Dst:             bind
        - Src:             'lib/roles/netlink/ops-netlink.c:613,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:613,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:613,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:619,6'
          Dst:             lws_wsi_inject_to_loop
        - Src:             'lib/roles/netlink/ops-netlink.c:644,32'
          Dst:             getpid
        - Src:             'lib/roles/netlink/ops-netlink.c:655,11'
          Dst:             sendmsg
        - Src:             'lib/roles/netlink/ops-netlink.c:657,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:657,3'
          Dst:             __errno_location
        - Src:             'lib/roles/netlink/ops-netlink.c:657,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:657,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:668,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:668,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/netlink/ops-netlink.c:668,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/roles/netlink/ops-netlink.c:673,2'
          Dst:             __lws_lc_untag
        - Src:             'lib/roles/netlink/ops-netlink.c:674,2'
          Dst:             close
        - Src:             'lib/roles/netlink/ops-netlink.c:676,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/netlink/ops-netlink.c:677,2'
          Dst:             lws_realloc
    - functionName:    getpid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sendmsg
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    elops_foreign_thread_poll
      functionSourceFile: '/src/libwebsockets/lib/event-libs/poll/poll.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          22
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_vfs_file_read
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-vfs.h'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ss_dump_extant
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2214
      functionLinenumberEnd: 2227
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          74
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_context
        - lws_log_prepend_ss
        - lwsl_context_get_cx
        - lwsl_ss_get_cx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:2218,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:2218,2'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:2218,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:2224,3'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:2224,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:2224,3'
          Dst:             lws_log_prepend_ss
    - functionName:    lwsl_ss_get_cx
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2165
      functionLinenumberEnd: 2170
      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: 2174
      functionLinenumberEnd: 2179
      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:2178,4'
          Dst:             lws_ss_tag
        - Src:             'lib/secure-streams/secure-streams.c:2177,8'
          Dst:             lws_snprintf
    - functionName:    lws_ss_tag
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2157
      functionLinenumberEnd: 2161
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_lc_tag
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:2160,9'
          Dst:             lws_lc_tag
    - functionName:    lws_ss_assert_extant
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2192
      functionLinenumberEnd: 2208
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          72
      EdgeCount:       14
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:2208,2'
          Dst:             __assert_fail
    - functionName:    lws_ss_validity_confirmed
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2183
      functionLinenumberEnd: 2186
      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:2185,3'
          Dst:             lws_validity_confirmed
    - functionName:    lws_ss_change_handlers
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2146
      functionLinenumberEnd: 2153
      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: 2132
      functionLinenumberEnd: 2135
      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:2133,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:2134,2'
          Dst:             lws_sul_cancel
    - functionName:    lws_ss_to_cb
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2101
      functionLinenumberEnd: 2113
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          64
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - lws_set_timeout
        - lws_ss_event_helper
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:2105,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:2110,3'
          Dst:             lws_set_timeout
        - Src:             'lib/secure-streams/secure-streams.c:2112,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: 429
      functionLinenumberEnd: 472
      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:435,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: 477
      functionLinenumberEnd: 494
      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:479,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/secure-streams/secure-streams.c:479,3'
          Dst:             lws_ss_tag
        - Src:             'lib/secure-streams/secure-streams.c:479,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:482,4'
          Dst:             lws_set_opaque_user_data
        - Src:             'lib/secure-streams/secure-streams.c:483,4'
          Dst:             lws_set_timeout
        - Src:             'lib/secure-streams/secure-streams.c:486,5'
          Dst:             lws_set_opaque_user_data
        - Src:             'lib/secure-streams/secure-streams.c:487,5'
          Dst:             lws_set_timeout
        - Src:             'lib/secure-streams/secure-streams.c:491,3'
          Dst:             lws_ss_destroy
    - functionName:    lws_ss_destroy
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1627
      functionLinenumberEnd: 1838
      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:1639,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:1642,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1644,3'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/secure-streams.c:1649,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1656,3'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/secure-streams.c:1660,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1665,5'
          Dst:             lws_get_opaque_user_data
        - Src:             'lib/secure-streams/secure-streams.c:1677,3'
          Dst:             lws_set_opaque_user_data
        - Src:             'lib/secure-streams/secure-streams.c:1678,3'
          Dst:             lws_set_timeout
        - Src:             'lib/secure-streams/secure-streams.c:1682,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/secure-streams.c:1691,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/secure-streams.c:1694,4'
          Dst:             lws_smd_unregister
        - Src:             'lib/secure-streams/secure-streams.c:1704,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/secure-streams.c:1706,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/secure-streams.c:1708,3'
          Dst:             lws_vfs_file_close
        - Src:             'lib/secure-streams/secure-streams.c:1711,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/secure-streams.c:1712,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/secure-streams.c:1713,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/secure-streams.c:1717,3'
          Dst:             lws_ss_destroy
        - Src:             'lib/secure-streams/secure-streams.c:1720,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/secure-streams.c:1722,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/secure-streams.c:1731,7'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/secure-streams/secure-streams.c:1743,10'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1745,9'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1754,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1756,4'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/secure-streams.c:1782,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/secure-streams.c:1812,3'
          Dst:             lws_vhost_destroy
        - Src:             'lib/secure-streams/secure-streams.c:1827,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/secure-streams.c:1833,2'
          Dst:             __lws_lc_untag
        - Src:             'lib/secure-streams/secure-streams.c:1835,2'
          Dst:             lws_explicit_bzero
        - Src:             'lib/secure-streams/secure-streams.c:1837,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: 369
      functionLinenumberEnd: 413
      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:381,3'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:381,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:381,3'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:382,3'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/secure-streams.c:388,3'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:388,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:388,3'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:390,3'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/secure-streams.c:396,3'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:396,3'
          Dst:             lws_ss_state_name
        - Src:             'lib/secure-streams/secure-streams.c:396,3'
          Dst:             lws_ss_state_name
        - Src:             'lib/secure-streams/secure-streams.c:396,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:396,3'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:406,2'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:406,2'
          Dst:             lws_ss_state_name
        - Src:             'lib/secure-streams/secure-streams.c:406,2'
          Dst:             lws_ss_state_name
        - Src:             'lib/secure-streams/secure-streams.c:406,2'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:406,2'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:410,2'
          Dst:             __assert_fail
    - functionName:    lws_ss_state_name
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 417
      functionLinenumberEnd: 425
      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: 2118
      functionLinenumberEnd: 2128
      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:2119,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:2125,2'
          Dst:             lws_sul_schedule
        - Src:             'lib/secure-streams/secure-streams.c:2125,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: 2082
      functionLinenumberEnd: 2093
      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:2085,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: 2067
      functionLinenumberEnd: 2078
      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:2070,2'
          Dst:             lws_service_assert_loop_thread
    - functionName:    lws_ss_rideshare
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2058
      functionLinenumberEnd: 2063
      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: 2043
      functionLinenumberEnd: 2044
      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: 2032
      functionLinenumberEnd: 2038
      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:2035,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:2036,3'
          Dst:             _lws_log
    - functionName:    lws_ss_destroy_dll
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2022
      functionLinenumberEnd: 2027
      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:2025,2'
          Dst:             lws_ss_destroy
    - functionName:    lws_ss_request_tx_len
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1999
      functionLinenumberEnd: 2011
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          112
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - lws_service_assert_loop_thread
        - lws_ss_request_tx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:2000,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:2011,9'
          Dst:             lws_ss_request_tx
    - functionName:    lws_ss_request_tx
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1904
      functionLinenumberEnd: 1909
      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:1907,6'
          Dst:             _lws_ss_request_tx
    - functionName:    _lws_ss_request_tx
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1914
      functionLinenumberEnd: 1995
      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:1919,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:1922,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/secure-streams/secure-streams.c:1929,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1942,3'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1942,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1942,3'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1944,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/secure-streams/secure-streams.c:1944,3'
          Dst:             lws_ss_sink_txreq_cb
        - Src:             'lib/secure-streams/secure-streams.c:1964,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/secure-streams/secure-streams.c:1964,3'
          Dst:             lws_ss_smd_tx_cb
        - Src:             'lib/secure-streams/secure-streams.c:1978,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1987,6'
          Dst:             _lws_ss_client_connect
        - Src:             'lib/secure-streams/secure-streams.c:1992,10'
          Dst:             lws_ss_backoff
    - functionName:    lws_ss_sink_txreq_cb
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1868
      functionLinenumberEnd: 1899
      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:1882,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:1878,2'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/secure-streams.c:1885,4'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1885,4'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1885,4'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1890,3'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/secure-streams.c:1896,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: 654
      functionLinenumberEnd: 690
      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:661,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:672,3'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:672,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:672,3'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:674,3'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/secure-streams/secure-streams.c:677,28'
          Dst:             lws_ser_ru64be
        - Src:             'lib/secure-streams/secure-streams.c:678,6'
          Dst:             lws_smd_msg_alloc
        - Src:             'lib/secure-streams/secure-streams.c:686,6'
          Dst:             lws_smd_msg_send
        - Src:             'lib/secure-streams/secure-streams.c:687,3'
          Dst:             _lws_log
    - functionName:    _lws_ss_client_connect
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 731
      functionLinenumberEnd: 1038
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         131
      ICount:          954
      EdgeCount:       181
      CyclomaticComplexity: 52
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - lws_client_connect_via_info
        - lws_get_vhost_by_name
        - lws_log_prepend_ss
        - lws_parse_uri_create
        - lws_parse_uri_destroy
        - lws_realloc
        - lws_service_assert_loop_thread
        - lws_smd_register
        - lws_smd_ss_cb
        - lws_ss_backoff
        - lws_ss_event_helper
        - lws_ss_exp_cb_metadata
        - lws_ss_fops_sul_cb
        - lws_strexp_expand
        - lws_strexp_init
        - lws_sul_schedule
        - lws_vfs_file_close
        - lws_vfs_file_open
        - lwsl_ss_get_cx
        - strchr
        - strcmp
        - strlen
        - strncmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:744,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:747,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:773,23'
          Dst:             lws_smd_register
        - Src:             'lib/secure-streams/secure-streams.c:773,23'
          Dst:             lws_smd_ss_cb
        - Src:             'lib/secure-streams/secure-streams.c:781,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:784,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:795,2'
          Dst:             lws_strexp_init
        - Src:             'lib/secure-streams/secure-streams.c:795,2'
          Dst:             lws_ss_exp_cb_metadata
        - Src:             'lib/secure-streams/secure-streams.c:798,10'
          Dst:             strlen
        - Src:             'lib/secure-streams/secure-streams.c:797,6'
          Dst:             lws_strexp_expand
        - Src:             'lib/secure-streams/secure-streams.c:800,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:819,7'
          Dst:             strncmp
        - Src:             'lib/secure-streams/secure-streams.c:821,15'
          Dst:             lws_vfs_file_open
        - Src:             'lib/secure-streams/secure-streams.c:825,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:827,4'
          Dst:             lws_vfs_file_close
        - Src:             'lib/secure-streams/secure-streams.c:832,4'
          Dst:             lws_vfs_file_close
        - Src:             'lib/secure-streams/secure-streams.c:833,4'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:833,4'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:833,4'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:837,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:839,4'
          Dst:             lws_vfs_file_close
        - Src:             'lib/secure-streams/secure-streams.c:844,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/secure-streams/secure-streams.c:844,3'
          Dst:             lws_ss_fops_sul_cb
        - Src:             'lib/secure-streams/secure-streams.c:851,14'
          Dst:             strchr
        - Src:             'lib/secure-streams/secure-streams.c:852,14'
          Dst:             lws_parse_uri_create
        - Src:             'lib/secure-streams/secure-streams.c:854,4'
          Dst:             lws_parse_uri_destroy
        - Src:             'lib/secure-streams/secure-streams.c:856,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:869,16'
          Dst:             strcmp
        - Src:             'lib/secure-streams/secure-streams.c:869,41'
          Dst:             strcmp
        - Src:             'lib/secure-streams/secure-streams.c:870,9'
          Dst:             strcmp
        - Src:             'lib/secure-streams/secure-streams.c:874,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:878,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:881,14'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/secure-streams/secure-streams.c:884,5'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:889,6'
          Dst:             lws_parse_uri_destroy
        - Src:             'lib/secure-streams/secure-streams.c:938,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:941,4'
          Dst:             lws_parse_uri_destroy
        - Src:             'lib/secure-streams/secure-streams.c:954,9'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/secure-streams.c:956,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:958,4'
          Dst:             lws_parse_uri_destroy
        - Src:             'lib/secure-streams/secure-streams.c:967,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:981,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:983,3'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/secure-streams.c:985,4'
          Dst:             lws_parse_uri_destroy
        - Src:             'lib/secure-streams/secure-streams.c:991,8'
          Dst:             lws_client_connect_via_info
        - Src:             'lib/secure-streams/secure-streams.c:993,2'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/secure-streams.c:1002,5'
          Dst:             lws_parse_uri_destroy
        - Src:             'lib/secure-streams/secure-streams.c:1015,8'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1018,6'
          Dst:             lws_parse_uri_destroy
        - Src:             'lib/secure-streams/secure-streams.c:1022,8'
          Dst:             lws_ss_backoff
        - Src:             'lib/secure-streams/secure-streams.c:1025,6'
          Dst:             lws_parse_uri_destroy
        - Src:             'lib/secure-streams/secure-streams.c:1031,4'
          Dst:             lws_parse_uri_destroy
        - Src:             'lib/secure-streams/secure-streams.c:1036,3'
          Dst:             lws_parse_uri_destroy
    - functionName:    lws_ss_backoff
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 609
      functionLinenumberEnd: 610
      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:610,9'
          Dst:             _lws_ss_backoff
    - functionName:    _lws_ss_backoff
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 568
      functionLinenumberEnd: 605
      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:572,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:579,2'
          Dst:             lws_ss_tag
        - Src:             'lib/secure-streams/secure-streams.c:579,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:580,7'
          Dst:             lws_retry_get_delay_ms
        - Src:             'lib/secure-streams/secure-streams.c:583,3'
          Dst:             lws_ss_tag
        - Src:             'lib/secure-streams/secure-streams.c:583,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:590,10'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:599,2'
          Dst:             lws_ss_set_timeout_us
        - Src:             'lib/secure-streams/secure-streams.c:601,2'
          Dst:             lws_ss_tag
        - Src:             'lib/secure-streams/secure-streams.c:601,2'
          Dst:             _lws_log
    - functionName:    lws_ss_set_timeout_us
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 555
      functionLinenumberEnd: 563
      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:559,2'
          Dst:             lws_now_usecs
        - Src:             'lib/secure-streams/secure-streams.c:559,2'
          Dst:             __lws_sul_insert
    - functionName:    lws_ss_timeout_sul_check_cb
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 499
      functionLinenumberEnd: 509
      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:503,2'
          Dst:             lws_ss_tag
        - Src:             'lib/secure-streams/secure-streams.c:503,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:507,6'
          Dst:             _lws_ss_request_tx
        - Src:             'lib/secure-streams/secure-streams.c:508,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: 629
      functionLinenumberEnd: 649
      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:633,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:642,2'
          Dst:             lws_ser_wu64be
        - Src:             'lib/secure-streams/secure-streams.c:643,2'
          Dst:             lws_ser_wu64be
    - functionName:    lws_ss_exp_cb_metadata
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 514
      functionLinenumberEnd: 551
      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:518,26'
          Dst:             lws_ss_policy_metadata
        - Src:             'lib/secure-streams/secure-streams.c:519,13'
          Dst:             lws_ss_get_handle_metadata
        - Src:             'lib/secure-streams/secure-streams.c:522,3'
          Dst:             _lws_log
    - functionName:    lws_ss_fops_sul_cb
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 697
      functionLinenumberEnd: 726
      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:704,6'
          Dst:             lws_vfs_file_read
        - Src:             'lib/secure-streams/secure-streams.c:713,4'
          Dst:             lws_sul_schedule
        - Src:             'lib/secure-streams/secure-streams.c:713,4'
          Dst:             lws_ss_fops_sul_cb
        - Src:             'lib/secure-streams/secure-streams.c:719,2'
          Dst:             lws_vfs_file_close
        - Src:             'lib/secure-streams/secure-streams.c:721,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:725,3'
          Dst:             lws_ss_destroy
    - functionName:    lws_ss_server_foreach_client
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1851
      functionLinenumberEnd: 1859
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          62
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ss_server_ack
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1843
      functionLinenumberEnd: 1846
      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: 1621
      functionLinenumberEnd: 1622
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ss_create
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1125
      functionLinenumberEnd: 1617
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         160
      ICount:          1298
      EdgeCount:       216
      CyclomaticComplexity: 58
      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:1591,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:1139,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:1166,9'
          Dst:             lws_ss_policy_lookup
        - Src:             'lib/secure-streams/secure-streams.c:1169,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1169,4'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1169,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1192,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1198,8'
          Dst:             lws_zalloc
        - Src:             'lib/secure-streams/secure-streams.c:1206,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/secure-streams/secure-streams.c:1208,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1208,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1208,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1225,23'
          Dst:             strlen
        - Src:             'lib/secure-streams/secure-streams.c:1228,6'
          Dst:             lws_zalloc
        - Src:             'lib/secure-streams/secure-streams.c:1245,3'
          Dst:             __lws_lc_tag
        - Src:             'lib/secure-streams/secure-streams.c:1250,3'
          Dst:             __lws_lc_tag
        - Src:             'lib/secure-streams/secure-streams.c:1279,4'
          Dst:             lws_dll2_get_head
        - Src:             'lib/secure-streams/secure-streams.c:1283,52'
          Dst:             strcmp
        - Src:             'lib/secure-streams/secure-streams.c:1292,7'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1292,7'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1292,7'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1302,10'
          Dst:             lws_ss_create
        - Src:             'lib/secure-streams/secure-streams.c:1304,7'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1304,7'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1304,7'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1308,6'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/secure-streams/secure-streams.c:1310,6'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1310,6'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1310,6'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1317,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1317,5'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1317,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1349,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1349,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1349,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1364,30'
          Dst:             strlen
        - Src:             'lib/secure-streams/secure-streams.c:1371,2'
          Dst:             lws_dll2_add_head
        - Src:             'lib/secure-streams/secure-streams.c:1401,23'
          Dst:             lws_smd_register
        - Src:             'lib/secure-streams/secure-streams.c:1401,23'
          Dst:             lws_smd_ss_cb
        - Src:             'lib/secure-streams/secure-streams.c:1406,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1406,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1406,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1416,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1416,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1416,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1427,10'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/secure-streams/secure-streams.c:1430,5'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1456,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:1479,5'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1479,5'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1479,5'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1495,10'
          Dst:             lws_create_vhost
        - Src:             'lib/secure-streams/secure-streams.c:1499,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1499,4'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1499,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1511,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1512,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1512,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1512,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1517,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1517,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1517,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/secure-streams.c:1551,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1552,2'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1552,2'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1552,2'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1569,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1572,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1588,7'
          Dst:             _lws_ss_client_connect
        - Src:             'lib/secure-streams/secure-streams.c:1596,8'
          Dst:             lws_ss_backoff
        - Src:             'lib/secure-streams/secure-streams.c:1612,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/secure-streams.c:1614,2'
          Dst:             lws_ss_destroy
    - functionName:    lws_ss_get_vhost
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2049
      functionLinenumberEnd: 2053
      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: 1054
      functionLinenumberEnd: 1111
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          200
      EdgeCount:       40
      CyclomaticComplexity: 12
      functionsReached:
        - _lws_log_cx
        - lws_adopt_descriptor_vhost_via_info
        - lws_change_pollfd
        - lws_close_free_wsi
        - lws_get_vhost_by_name
        - lws_log_prepend_ss
        - lws_log_prepend_wsi
        - lws_ss_event_helper
        - lws_ss_get_vhost
        - lwsl_ss_get_cx
        - lwsl_wsi_get_cx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:1069,12'
          Dst:             lws_ss_get_vhost
        - Src:             'lib/secure-streams/secure-streams.c:1069,34'
          Dst:             lws_ss_get_vhost
        - Src:             'lib/secure-streams/secure-streams.c:1070,5'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/secure-streams/secure-streams.c:1078,8'
          Dst:             lws_adopt_descriptor_vhost_via_info
        - Src:             'lib/secure-streams/secure-streams.c:1080,3'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1080,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1080,3'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1084,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1084,2'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1084,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/secure-streams/secure-streams.c:1090,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1093,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1097,6'
          Dst:             lws_change_pollfd
        - Src:             'lib/secure-streams/secure-streams.c:1098,3'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/secure-streams.c:1098,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/secure-streams.c:1098,3'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/secure-streams.c:1104,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/secure-streams.c:1107,2'
          Dst:             lws_close_free_wsi
    - functionName:    lws_ss_client_connect
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1042
      functionLinenumberEnd: 1049
      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:1045,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/secure-streams.c:1047,6'
          Dst:             _lws_ss_client_connect
    - functionName:    lws_ss_check_next_state
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 319
      functionLinenumberEnd: 364
      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:332,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:333,3'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/secure-streams.c:339,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:341,3'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/secure-streams.c:347,3'
          Dst:             lws_ss_state_name
        - Src:             'lib/secure-streams/secure-streams.c:347,3'
          Dst:             lws_ss_state_name
        - Src:             'lib/secure-streams/secure-streams.c:347,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:357,2'
          Dst:             lws_ss_state_name
        - Src:             'lib/secure-streams/secure-streams.c:357,2'
          Dst:             lws_ss_state_name
        - Src:             'lib/secure-streams/secure-streams.c:357,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/secure-streams.c:361,2'
          Dst:             __assert_fail
    - functionName:    lws_conmon_ss_json
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/secure-streams.c'
      linkageType:     InternalLinkage
      functionLinenumber: 215
      functionLinenumberEnd: 313
      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:265,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:227,3'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/secure-streams.c:229,19'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/secure-streams.c:236,2'
          Dst:             lws_conmon_wsi_take
        - Src:             'lib/secure-streams/secure-streams.c:238,2'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/secure-streams/secure-streams.c:239,9'
          Dst:             lws_snprintf
        - Src:             'lib/secure-streams/secure-streams.c:256,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/secure-streams/secure-streams.c:257,10'
          Dst:             lws_snprintf
        - Src:             'lib/secure-streams/secure-streams.c:263,9'
          Dst:             lws_snprintf
        - Src:             'lib/secure-streams/secure-streams.c:267,10'
          Dst:             lws_snprintf
        - Src:             'lib/secure-streams/secure-streams.c:275,9'
          Dst:             lws_snprintf
        - Src:             'lib/secure-streams/secure-streams.c:282,2'
          Dst:             lws_conmon_release
        - Src:             'lib/secure-streams/secure-streams.c:310,2'
          Dst:             lws_realloc
    - functionName:    fe_lws_ss_destroy
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 284
      functionLinenumberEnd: 289
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_ss_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-common.c:287,2'
          Dst:             lws_ss_destroy
    - functionName:    lws_ss_policy_set
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 411
      functionLinenumberEnd: 603
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         38
      ICount:          277
      EdgeCount:       49
      CyclomaticComplexity: 13
      functionsReached:
        - _lws_log
        - fe_lws_ss_destroy
        - lejp_destruct
        - lws_dll2_foreach_safe
        - lws_humanize
        - lws_realloc
        - lws_smd_msg_printf
        - lws_ss_policy_ref_trust_store
        - lws_vh_tag
        - lws_vhost_destroy
        - lwsac_free
        - lwsac_total_alloc
        - lwsac_total_overhead
        - time
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-common.c:430,2'
          Dst:             lejp_destruct
        - Src:             'lib/secure-streams/policy-common.c:455,4'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/secure-streams/policy-common.c:455,4'
          Dst:             fe_lws_ss_destroy
        - Src:             'lib/secure-streams/policy-common.c:466,3'
          Dst:             lwsac_free
        - Src:             'lib/secure-streams/policy-common.c:494,5'
          Dst:             lws_vh_tag
        - Src:             'lib/secure-streams/policy-common.c:494,5'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-common.c:495,5'
          Dst:             lws_vhost_destroy
        - Src:             'lib/secure-streams/policy-common.c:506,33'
          Dst:             lwsac_total_alloc
        - Src:             'lib/secure-streams/policy-common.c:506,2'
          Dst:             lws_humanize
        - Src:             'lib/secure-streams/policy-common.c:508,6'
          Dst:             lwsac_total_alloc
        - Src:             'lib/secure-streams/policy-common.c:509,14'
          Dst:             lwsac_total_overhead
        - Src:             'lib/secure-streams/policy-common.c:510,5'
          Dst:             lwsac_total_alloc
        - Src:             'lib/secure-streams/policy-common.c:515,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-common.c:531,8'
          Dst:             lws_ss_policy_ref_trust_store
        - Src:             'lib/secure-streams/policy-common.c:573,4'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/policy-common.c:580,25'
          Dst:             time
        - Src:             'lib/secure-streams/policy-common.c:589,2'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/policy-common.c:597,8'
          Dst:             lws_smd_msg_printf
    - functionName:    lws_ss_policy_ref_trust_store
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 380
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          232
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log
        - lws_create_vhost
        - lws_get_vhost_by_name
        - lws_tls_client_vhost_extra_cert_mem
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-common.c:312,7'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/secure-streams/policy-common.c:318,8'
          Dst:             lws_create_vhost
        - Src:             'lib/secure-streams/policy-common.c:320,5'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-common.c:329,6'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/secure-streams/policy-common.c:331,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-common.c:337,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-common.c:348,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-common.c:351,6'
          Dst:             lws_create_vhost
        - Src:             'lib/secure-streams/policy-common.c:353,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-common.c:360,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-common.c:363,7'
          Dst:             lws_tls_client_vhost_extra_cert_mem
        - Src:             'lib/secure-streams/policy-common.c:366,4'
          Dst:             _lws_log
    - functionName:    lws_ss_policy_metadata_index
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 269
      functionLinenumberEnd: 279
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          44
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ss_policy_metadata
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 255
      functionLinenumberEnd: 265
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          63
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-common.c:259,21'
          Dst:             strcmp
    - functionName:    lws_ss_get_metadata
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          59
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - lws_service_assert_loop_thread
        - lws_ss_get_handle_metadata
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-common.c:166,27'
          Dst:             lws_ss_get_handle_metadata
        - Src:             'lib/secure-streams/policy-common.c:171,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/policy-common.c:216,2'
          Dst:             _lws_log
    - functionName:    lws_ss_get_handle_metadata
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 223
      functionLinenumberEnd: 233
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          75
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - lws_service_assert_loop_thread
        - strcmp
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-common.c:226,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/policy-common.c:229,8'
          Dst:             strcmp
    - functionName:    lws_ss_alloc_set_metadata
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          54
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - _lws_ss_alloc_set_metadata
        - lws_service_assert_loop_thread
        - lws_ss_get_handle_metadata
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-common.c:150,27'
          Dst:             lws_ss_get_handle_metadata
        - Src:             'lib/secure-streams/policy-common.c:152,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/policy-common.c:155,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-common.c:159,9'
          Dst:             _lws_ss_alloc_set_metadata
    - functionName:    _lws_ss_alloc_set_metadata
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          97
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_ss_set_metadata
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-common.c:125,3'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/policy-common.c:129,6'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/policy-common.c:133,6'
          Dst:             _lws_ss_set_metadata
        - Src:             'lib/secure-streams/policy-common.c:135,3'
          Dst:             lws_realloc
    - functionName:    _lws_ss_set_metadata
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          61
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - lws_realloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-common.c:69,3'
          Dst:             lws_realloc
    - functionName:    lws_ss_set_metadata
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          54
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - _lws_ss_set_metadata
        - lws_service_assert_loop_thread
        - lws_ss_get_handle_metadata
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-common.c:86,27'
          Dst:             lws_ss_get_handle_metadata
        - Src:             'lib/secure-streams/policy-common.c:88,2'
          Dst:             lws_service_assert_loop_thread
        - Src:             'lib/secure-streams/policy-common.c:91,10'
          Dst:             _lws_ss_set_metadata
        - Src:             'lib/secure-streams/policy-common.c:113,2'
          Dst:             _lws_log
    - functionName:    lws_ss_policy_lookup
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          70
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/policy-common.c:45,7'
          Dst:             strcmp
        - Src:             'lib/secure-streams/policy-common.c:50,8'
          Dst:             strcmp
    - functionName:    ss_cpd_state
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          92
      EdgeCount:       23
      CyclomaticComplexity: 13
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_ss
        - lws_ss_request_tx
        - lws_ss_start_timeout
        - lws_ss_state_name
        - lws_system_cpd_set
        - lwsl_ss_get_cx
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:47,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:44,2'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:44,2'
          Dst:             lws_ss_state_name
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:44,2'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:44,2'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:49,3'
          Dst:             lws_ss_start_timeout
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:50,10'
          Dst:             lws_ss_request_tx
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:53,3'
          Dst:             lws_system_cpd_set
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:64,3'
          Dst:             lws_system_cpd_set
    - functionName:    lws_ss_sys_cpd
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          51
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_context
        - lws_ss_create
        - lwsl_context_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:87,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:87,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:87,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:91,6'
          Dst:             lws_ss_create
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:92,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:92,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/system/captive-portal-detect/captive-portal-detect.c:92,3'
          Dst:             lws_log_prepend_context
    - functionName:    secstream_connect_munge_raw
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-raw.c'
      linkageType:     InternalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    secstream_raw
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-raw.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         69
      ICount:          493
      EdgeCount:       90
      CyclomaticComplexity: 23
      functionsReached:
        - __assert_fail
        - _lws_log
        - _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - lws_conmon_ss_json
        - lws_dll2_remove
        - lws_get_opaque_user_data
        - lws_set_timeout
        - lws_ss_backoff
        - lws_ss_event_helper
        - lws_ss_tag
        - lws_sul_cancel
        - lws_validity_confirmed
        - lws_write
        - read
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/secure-streams/protocols/ss-raw.c:43,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/protocols/ss-raw.c:36,42'
          Dst:             lws_get_opaque_user_data
        - Src:             'lib/secure-streams/protocols/ss-raw.c:46,3'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/protocols/ss-raw.c:47,3'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/protocols/ss-raw.c:48,3'
          Dst:             lws_ss_tag
        - Src:             'lib/secure-streams/protocols/ss-raw.c:48,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-raw.c:52,3'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/secure-streams/protocols/ss-raw.c:55,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-raw.c:57,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-raw.c:59,7'
          Dst:             lws_ss_backoff
        - Src:             'lib/secure-streams/protocols/ss-raw.c:61,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-raw.c:67,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/protocols/ss-raw.c:70,3'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/secure-streams/protocols/ss-raw.c:73,3'
          Dst:             lws_ss_tag
        - Src:             'lib/secure-streams/protocols/ss-raw.c:73,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-raw.c:78,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/protocols/ss-raw.c:83,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-raw.c:85,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-raw.c:92,8'
          Dst:             lws_ss_backoff
        - Src:             'lib/secure-streams/protocols/ss-raw.c:94,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-raw.c:101,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-raw.c:105,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/protocols/ss-raw.c:112,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-raw.c:114,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-raw.c:116,3'
          Dst:             lws_validity_confirmed
        - Src:             'lib/secure-streams/protocols/ss-raw.c:120,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-raw.c:126,25'
          Dst:             read
        - Src:             'lib/secure-streams/protocols/ss-raw.c:139,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-raw.c:144,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-raw.c:153,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-raw.c:161,7'
          Dst:             lws_write
        - Src:             'lib/secure-streams/protocols/ss-raw.c:163,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-raw.c:167,3'
          Dst:             lws_set_timeout
    - functionName:    lws_ss_policy_find_auth_by_name
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 275
      functionLinenumberEnd: 288
      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:280,14'
          Dst:             strlen
        - Src:             'lib/secure-streams/policy-json.c:281,8'
          Dst:             strncmp
    - functionName:    lws_ss_policy_alloc_helper
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 292
      functionLinenumberEnd: 307
      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:298,20'
          Dst:             lwsac_use_zero
    - functionName:    lws_ss_auth_get
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1320
      functionLinenumberEnd: 1327
      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: 1309
      functionLinenumberEnd: 1316
      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: 1301
      functionLinenumberEnd: 1304
      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:1302,2'
          Dst:             lws_ss_policy_parse_begin
        - Src:             'lib/secure-streams/policy-json.c:1304,8'
          Dst:             strlen
        - Src:             'lib/secure-streams/policy-json.c:1303,9'
          Dst:             lws_ss_policy_parse
    - functionName:    lws_ss_policy_parse_begin
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1161
      functionLinenumberEnd: 1192
      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:1165,9'
          Dst:             lws_zalloc
        - Src:             'lib/secure-streams/policy-json.c:1167,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:1180,6'
          Dst:             lwsac_use
        - Src:             'lib/secure-streams/policy-json.c:1182,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:1183,3'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/policy-json.c:1188,2'
          Dst:             lejp_construct
        - Src:             'lib/secure-streams/policy-json.c:1188,2'
          Dst:             lws_ss_policy_parser_cb
    - functionName:    lws_ss_policy_parse
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1274
      functionLinenumberEnd: 1297
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          121
      EdgeCount:       23
      CyclomaticComplexity: 7
      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:1283,10'
          Dst:             lws_ss_policy_parse_file
        - Src:             'lib/secure-streams/policy-json.c:1287,6'
          Dst:             lejp_parse
        - Src:             'lib/secure-streams/policy-json.c:1291,2'
          Dst:             lejp_error_to_string
        - Src:             'lib/secure-streams/policy-json.c:1291,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:1293,2'
          Dst:             lws_ss_policy_parse_abandon
        - Src:             'lib/secure-streams/policy-json.c:1294,2'
          Dst:             __assert_fail
    - functionName:    lws_ss_policy_parse_file
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1232
      functionLinenumberEnd: 1269
      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:1235,17'
          Dst:             lws_open
        - Src:             'lib/secure-streams/policy-json.c:1238,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/secure-streams/policy-json.c:1238,3'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/policy-json.c:1238,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/secure-streams/policy-json.c:1243,12'
          Dst:             read
        - Src:             'lib/secure-streams/policy-json.c:1249,7'
          Dst:             lejp_parse
        - Src:             'lib/secure-streams/policy-json.c:1251,4'
          Dst:             lejp_error_to_string
        - Src:             'lib/secure-streams/policy-json.c:1251,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:1254,4'
          Dst:             lws_ss_policy_parse_abandon
        - Src:             'lib/secure-streams/policy-json.c:1266,2'
          Dst:             close
    - functionName:    lws_ss_policy_parse_abandon
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1196
      functionLinenumberEnd: 1226
      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:1199,1'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:1206,3'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/policy-json.c:1214,3'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/policy-json.c:1220,2'
          Dst:             lejp_destruct
        - Src:             'lib/secure-streams/policy-json.c:1221,2'
          Dst:             lwsac_free
        - Src:             'lib/secure-streams/policy-json.c:1222,2'
          Dst:             lws_realloc
    - functionName:    lws_ss_policy_parser_cb
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/policy-json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 311
      functionLinenumberEnd: 1157
      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:331,2'
          Branch Sides:    []
        - Branch String:   'lib/secure-streams/policy-json.c:485,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/policy-json.c:364,7'
          Dst:             lws_ss_policy_alloc_helper
        - Src:             'lib/secure-streams/policy-json.c:371,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:380,43'
          Dst:             lwsac_use_zero
        - Src:             'lib/secure-streams/policy-json.c:410,33'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/policy-json.c:419,3'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/policy-json.c:438,10'
          Dst:             strncmp
        - Src:             'lib/secure-streams/policy-json.c:442,6'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:458,19'
          Dst:             lwsac_use_zero
        - Src:             'lib/secure-streams/policy-json.c:464,11'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/policy-json.c:506,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:510,36'
          Dst:             lwsac_use_zero
        - Src:             'lib/secure-streams/policy-json.c:517,45'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:521,55'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:525,55'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:529,63'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:533,65'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:538,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:544,3'
          Dst:             lws_b64_decode_stateful
        - Src:             'lib/secure-streams/policy-json.c:549,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:555,7'
          Dst:             lws_ss_policy_alloc_helper
        - Src:             'lib/secure-streams/policy-json.c:566,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:569,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:573,9'
          Dst:             strncmp
        - Src:             'lib/secure-streams/policy-json.c:581,3'
          Dst:             lws_strncpy
        - Src:             'lib/secure-streams/policy-json.c:582,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:614,42'
          Dst:             strlen
        - Src:             'lib/secure-streams/policy-json.c:614,9'
          Dst:             lwsac_use
        - Src:             'lib/secure-streams/policy-json.c:620,28'
          Dst:             strlen
        - Src:             'lib/secure-streams/policy-json.c:621,39'
          Dst:             strlen
        - Src:             'lib/secure-streams/policy-json.c:649,9'
          Dst:             strncmp
        - Src:             'lib/secure-streams/policy-json.c:661,5'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:687,3'
          Dst:             lws_strncpy
        - Src:             'lib/secure-streams/policy-json.c:688,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:700,43'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:704,51'
          Dst:             atol
        - Src:             'lib/secure-streams/policy-json.c:709,17'
          Dst:             atol
        - Src:             'lib/secure-streams/policy-json.c:713,17'
          Dst:             atol
        - Src:             'lib/secure-streams/policy-json.c:717,52'
          Dst:             atol
        - Src:             'lib/secure-streams/policy-json.c:722,17'
          Dst:             atol
        - Src:             'lib/secure-streams/policy-json.c:726,17'
          Dst:             atol
        - Src:             'lib/secure-streams/policy-json.c:754,50'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:758,46'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:761,57'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:765,49'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:769,46'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:854,9'
          Dst:             strncmp
        - Src:             'lib/secure-streams/policy-json.c:861,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:868,9'
          Dst:             strncmp
        - Src:             'lib/secure-streams/policy-json.c:874,3'
          Dst:             lws_strncpy
        - Src:             'lib/secure-streams/policy-json.c:875,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:885,4'
          Dst:             lws_ss_policy_find_auth_by_name
        - Src:             'lib/secure-streams/policy-json.c:887,4'
          Dst:             lws_strncpy
        - Src:             'lib/secure-streams/policy-json.c:888,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:896,37'
          Dst:             lwsac_use_zero
        - Src:             'lib/secure-streams/policy-json.c:921,4'
          Dst:             lws_http_string_to_known_header
        - Src:             'lib/secure-streams/policy-json.c:934,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:938,5'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:939,42'
          Dst:             atoi
        - Src:             'lib/secure-streams/policy-json.c:1105,8'
          Dst:             strlen
        - Src:             'lib/secure-streams/policy-json.c:1106,9'
          Dst:             strncmp
        - Src:             'lib/secure-streams/policy-json.c:1111,3'
          Dst:             lws_strncpy
        - Src:             'lib/secure-streams/policy-json.c:1112,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:1126,11'
          Dst:             lwsac_scan_extant
        - Src:             'lib/secure-streams/policy-json.c:1132,8'
          Dst:             lwsac_use_backfill
        - Src:             'lib/secure-streams/policy-json.c:1142,8'
          Dst:             lwsac_use_backfill
        - Src:             'lib/secure-streams/policy-json.c:1152,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/policy-json.c:1153,2'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/policy-json.c:1154,2'
          Dst:             lwsac_free
    - functionName:    atol
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    policy_set
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/system/fetch-policy/fetch-policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log
        - lws_ss_destroy
        - lws_ss_policy_set
        - lws_state_transition_steps
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:81,2'
          Dst:             lws_ss_destroy
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:83,6'
          Dst:             lws_ss_policy_set
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:84,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:88,3'
          Dst:             lws_state_transition_steps
    - functionName:    ss_fetch_policy_state
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/system/fetch-policy/fetch-policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          99
      EdgeCount:       29
      CyclomaticComplexity: 16
      functionsReached:
        - _lws_log
        - lws_ss_policy_parse_abandon
        - lws_ss_request_tx
        - lws_ss_state_name
        - lws_sul_schedule
        - policy_set
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/secure-streams/system/fetch-policy/fetch-policy.c:104,2'
          Branch Sides:    []
        - Branch String:   'lib/secure-streams/system/fetch-policy/fetch-policy.c:112,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:101,2'
          Dst:             lws_ss_state_name
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:101,2'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:106,10'
          Dst:             lws_ss_request_tx
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:114,4'
          Dst:             lws_sul_schedule
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:114,4'
          Dst:             policy_set
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:122,4'
          Dst:             lws_ss_policy_parse_abandon
    - functionName:    ss_fetch_policy_tx
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/system/fetch-policy/fetch-policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ss_fetch_policy_rx
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/system/fetch-policy/fetch-policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          97
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - lws_ss_policy_parse
        - lws_ss_policy_parse_begin
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:48,7'
          Dst:             lws_ss_policy_parse_begin
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:53,13'
          Dst:             lws_ss_policy_parse
    - functionName:    lws_ss_sys_fetch_policy
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/system/fetch-policy/fetch-policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          61
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lws_ss_create
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:154,6'
          Dst:             lws_ss_create
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:161,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/system/fetch-policy/fetch-policy.c:166,2'
          Dst:             _lws_log
    - functionName:    secstream_connect_munge_h1
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1246
      functionLinenumberEnd: 1295
      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:1283,2'
          Dst:             lws_strexp_init
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1283,2'
          Dst:             lws_ss_exp_cb_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1285,38'
          Dst:             strlen
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1285,6'
          Dst:             lws_strexp_expand
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1292,2'
          Dst:             __lws_lc_tag_append
    - functionName:    ss_http_multipart_parser
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 187
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         73
      ICount:          686
      EdgeCount:       99
      CyclomaticComplexity: 28
      functionsReached:
        - _lws_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/protocols/ss-h1.c:70,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:115,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:121,4'
          Dst:             _lws_log
    - functionName:    lws_apply_metadata
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 216
      functionLinenumberEnd: 273
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          260
      EdgeCount:       52
      CyclomaticComplexity: 16
      functionsReached:
        - atoi
        - lws_add_http_header_by_name
        - lws_add_http_header_by_token
        - lws_client_http_body_pending
        - lws_snprintf
        - strcmp
        - strncmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/protocols/ss-h1.c:227,8'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/secure-streams/protocols/ss-h1.c:240,9'
          Dst:             strncmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:241,8'
          Dst:             atoi
        - Src:             'lib/secure-streams/protocols/ss-h1.c:242,5'
          Dst:             lws_client_http_body_pending
        - Src:             'lib/secure-streams/protocols/ss-h1.c:255,5'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:256,5'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:258,5'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:262,12'
          Dst:             lws_snprintf
        - Src:             'lib/secure-streams/protocols/ss-h1.c:264,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/secure-streams/protocols/ss-h1.c:269,3'
          Dst:             lws_client_http_body_pending
    - functionName:    lws_ss_http_resp_to_state
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          64
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_extract_metadata
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 316
      functionLinenumberEnd: 422
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         39
      ICount:          259
      EdgeCount:       51
      CyclomaticComplexity: 14
      functionsReached:
        - __assert_fail
        - _lws_ss_alloc_set_metadata
        - _lws_ss_set_metadata
        - lws_hdr_custom_copy
        - lws_hdr_custom_length
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_realloc
        - lws_ss_get_handle_metadata
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/protocols/ss-h1.c:326,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:328,22'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:330,11'
          Dst:             lws_ss_get_handle_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:334,5'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:334,5'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/protocols/ss-h1.c:341,5'
          Dst:             _lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:368,9'
          Dst:             lws_hdr_custom_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:374,10'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/protocols/ss-h1.c:383,10'
          Dst:             lws_hdr_custom_copy
        - Src:             'lib/secure-streams/protocols/ss-h1.c:391,7'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/protocols/ss-h1.c:397,7'
          Dst:             lws_realloc
        - Src:             'lib/secure-streams/protocols/ss-h1.c:402,12'
          Dst:             lws_ss_get_handle_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:406,7'
          Dst:             _lws_ss_set_metadata
    - functionName:    secstream_h1
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 434
      functionLinenumberEnd: 1225
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         380
      ICount:          2637
      EdgeCount:       522
      CyclomaticComplexity: 144
      functionsReached:
        - __assert_fail
        - _lws_log
        - _lws_ss_backoff
        - _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - lws_add_http_common_headers
        - lws_add_http_header_by_name
        - lws_apply_metadata
        - lws_callback_http_dummy
        - lws_callback_on_writable
        - lws_cancel_service
        - lws_client_http_body_pending
        - lws_client_http_multipart
        - lws_conmon_ss_json
        - lws_dll2_remove
        - lws_extract_metadata
        - lws_finalize_write_http_header
        - lws_get_context
        - lws_get_opaque_user_data
        - lws_get_urlarg_by_name_safe
        - lws_hdr_copy
        - lws_hdr_fragment_length
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
        - lws_http_check_retry_after
        - lws_http_client_http_response
        - lws_http_client_read
        - lws_http_transaction_completed
        - lws_set_timeout
        - lws_snprintf
        - lws_ss_alloc_set_metadata
        - lws_ss_assert_extant
        - lws_ss_backoff
        - lws_ss_event_helper
        - lws_ss_http_resp_to_state
        - lws_ss_policy_lookup
        - lws_strncpy
        - lws_sul_cancel
        - lws_system_blob_get
        - lws_system_cpd_set
        - lws_system_get_blob
        - lws_tokenize
        - lws_validity_confirmed
        - lws_write
        - lws_wsi_tag
        - ss_http_multipart_parser
        - strcmp
        - strlen
        - strncmp
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib/secure-streams/protocols/ss-h1.c:450,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/protocols/ss-h1.c:438,42'
          Dst:             lws_get_opaque_user_data
        - Src:             'lib/secure-streams/protocols/ss-h1.c:454,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/secure-streams/protocols/ss-h1.c:454,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:458,3'
          Dst:             lws_ss_assert_extant
        - Src:             'lib/secure-streams/protocols/ss-h1.c:460,3'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/protocols/ss-h1.c:463,3'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/secure-streams/protocols/ss-h1.c:467,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:471,8'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:473,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:476,8'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:483,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:488,7'
          Dst:             lws_ss_backoff
        - Src:             'lib/secure-streams/protocols/ss-h1.c:494,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:504,23'
          Dst:             lws_get_context
        - Src:             'lib/secure-streams/protocols/ss-h1.c:504,4'
          Dst:             lws_system_cpd_set
        - Src:             'lib/secure-streams/protocols/ss-h1.c:517,3'
          Dst:             lws_ss_assert_extant
        - Src:             'lib/secure-streams/protocols/ss-h1.c:523,11'
          Dst:             lws_http_client_http_response
        - Src:             'lib/secure-streams/protocols/ss-h1.c:526,3'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/secure-streams/protocols/ss-h1.c:539,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/protocols/ss-h1.c:548,8'
          Dst:             lws_ss_backoff
        - Src:             'lib/secure-streams/protocols/ss-h1.c:550,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:552,5'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/protocols/ss-h1.c:557,4'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/protocols/ss-h1.c:562,8'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:564,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:573,3'
          Dst:             lws_ss_assert_extant
        - Src:             'lib/secure-streams/protocols/ss-h1.c:581,11'
          Dst:             lws_http_client_http_response
        - Src:             'lib/secure-streams/protocols/ss-h1.c:584,3'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/secure-streams/protocols/ss-h1.c:587,17'
          Dst:             lws_http_client_http_response
        - Src:             'lib/secure-streams/protocols/ss-h1.c:588,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:610,4'
          Dst:             lws_http_check_retry_after
        - Src:             'lib/secure-streams/protocols/ss-h1.c:612,8'
          Dst:             _lws_ss_backoff
        - Src:             'lib/secure-streams/protocols/ss-h1.c:614,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:626,7'
          Dst:             lws_extract_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:627,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:640,12'
          Dst:             lws_ss_http_resp_to_state
        - Src:             'lib/secure-streams/protocols/ss-h1.c:642,9'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:644,13'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:650,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:653,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:660,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/protocols/ss-h1.c:670,9'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:672,13'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:678,9'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:680,13'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:688,3'
          Dst:             lws_validity_confirmed
        - Src:             'lib/secure-streams/protocols/ss-h1.c:700,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/secure-streams/protocols/ss-h1.c:705,9'
          Dst:             strncmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:706,9'
          Dst:             strncmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:714,13'
          Dst:             strlen
        - Src:             'lib/secure-streams/protocols/ss-h1.c:721,9'
          Dst:             lws_tokenize
        - Src:             'lib/secure-streams/protocols/ss-h1.c:723,10'
          Dst:             strncmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:725,10'
          Dst:             lws_tokenize
        - Src:             'lib/secure-streams/protocols/ss-h1.c:732,6'
          Dst:             lws_strncpy
        - Src:             'lib/secure-streams/protocols/ss-h1.c:741,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:755,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:792,9'
          Dst:             lws_snprintf
        - Src:             'lib/secure-streams/protocols/ss-h1.c:798,9'
          Dst:             lws_system_get_blob
        - Src:             'lib/secure-streams/protocols/ss-h1.c:803,8'
          Dst:             lws_system_blob_get
        - Src:             'lib/secure-streams/protocols/ss-h1.c:808,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:810,8'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/secure-streams/protocols/ss-h1.c:820,7'
          Dst:             lws_apply_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:856,6'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:857,6'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:859,6'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:863,9'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:865,13'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:874,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:882,11'
          Dst:             ss_http_multipart_parser
        - Src:             'lib/secure-streams/protocols/ss-h1.c:898,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:908,8'
          Dst:             lws_http_client_read
        - Src:             'lib/secure-streams/protocols/ss-h1.c:913,4'
          Dst:             lws_set_timeout
        - Src:             'lib/secure-streams/protocols/ss-h1.c:930,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/protocols/ss-h1.c:941,8'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:943,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:948,8'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:952,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:954,22'
          Dst:             lws_get_context
        - Src:             'lib/secure-streams/protocols/ss-h1.c:954,3'
          Dst:             lws_cancel_service
        - Src:             'lib/secure-streams/protocols/ss-h1.c:961,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:973,8'
          Dst:             lws_add_http_common_headers
        - Src:             'lib/secure-streams/protocols/ss-h1.c:988,8'
          Dst:             lws_apply_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:991,8'
          Dst:             lws_finalize_write_http_header
        - Src:             'lib/secure-streams/protocols/ss-h1.c:995,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1015,4'
          Dst:             lws_client_http_multipart
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1031,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1045,5'
          Dst:             lws_client_http_body_pending
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1048,6'
          Dst:             lws_client_http_multipart
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1053,20'
          Dst:             lws_ss_policy_lookup
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1055,5'
          Dst:             lws_callback_on_writable
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1067,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1070,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1073,7'
          Dst:             lws_write
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1077,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1084,8'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1100,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1108,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1111,11'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1110,9'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1114,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1116,11'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1115,14'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1122,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1125,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1124,10'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1128,10'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1130,10'
          Dst:             lws_hdr_fragment_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1132,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1131,15'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1136,10'
          Dst:             lws_hdr_total_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1139,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1138,11'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1142,11'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1144,11'
          Dst:             lws_hdr_fragment_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1146,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1145,16'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1151,11'
          Dst:             lws_hdr_total_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1154,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1153,12'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1157,12'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1159,12'
          Dst:             lws_hdr_fragment_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1161,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1160,17'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1180,9'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1182,13'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1198,14'
          Dst:             lws_get_urlarg_by_name_safe
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1202,11'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1212,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1214,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1224,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_ss_tag
        - lws_wsi_tx_credit
      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_wsi_tx_credit
    - 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: 233
      functionLinenumberEnd: 244
      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: 261
      functionLinenumberEnd: 298
      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:285,2'
          Dst:             lws_strexp_init
        - Src:             'lib/secure-streams/protocols/ss-ws.c:285,2'
          Dst:             lws_ss_exp_cb_metadata
        - Src:             'lib/secure-streams/protocols/ss-ws.c:287,38'
          Dst:             strlen
        - Src:             'lib/secure-streams/protocols/ss-ws.c:287,6'
          Dst:             lws_strexp_expand
        - Src:             'lib/secure-streams/protocols/ss-ws.c:291,2'
          Dst:             __lws_lc_tag_append
        - Src:             'lib/secure-streams/protocols/ss-ws.c:295,2'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/protocols/ss-ws.c:295,2'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/protocols/ss-ws.c:295,2'
          Dst:             lws_log_prepend_ss
    - functionName:    secstream_ws
      functionSourceFile: '/src/libwebsockets/lib/secure-streams/protocols/ss-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 239
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         113
      ICount:          797
      EdgeCount:       147
      CyclomaticComplexity: 36
      functionsReached:
        - __assert_fail
        - _lws_log
        - _lws_log_cx
        - _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - lws_callback_http_dummy
        - lws_conmon_ss_json
        - lws_dll2_remove
        - lws_get_opaque_user_data
        - lws_is_final_fragment
        - lws_is_first_fragment
        - lws_log_prepend_ss
        - lws_set_opaque_user_data
        - lws_ss_backoff
        - lws_ss_destroy
        - lws_ss_event_helper
        - lws_sul_cancel
        - lws_write
        - lws_write_ws_flags
        - lwsl_hexdump_level
        - lwsl_ss_get_cx
        - secstream_h1
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/secure-streams/protocols/ss-ws.c:45,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/secure-streams/protocols/ss-ws.c:38,42'
          Dst:             lws_get_opaque_user_data
        - Src:             'lib/secure-streams/protocols/ss-ws.c:49,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-ws.c:55,3'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/secure-streams/protocols/ss-ws.c:58,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-ws.c:60,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-ws.c:63,7'
          Dst:             lws_ss_backoff
        - Src:             'lib/secure-streams/protocols/ss-ws.c:65,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-ws.c:72,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/protocols/ss-ws.c:75,3'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/secure-streams/protocols/ss-ws.c:78,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-ws.c:80,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-ws.c:83,4'
          Dst:             lws_set_opaque_user_data
        - Src:             'lib/secure-streams/protocols/ss-ws.c:88,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/secure-streams/protocols/ss-ws.c:99,9'
          Dst:             lws_ss_backoff
        - Src:             'lib/secure-streams/protocols/ss-ws.c:101,13'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-ws.c:111,5'
          Dst:             lws_ss_destroy
        - Src:             'lib/secure-streams/protocols/ss-ws.c:128,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/protocols/ss-ws.c:135,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-ws.c:137,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-ws.c:145,7'
          Dst:             lws_is_first_fragment
        - Src:             'lib/secure-streams/protocols/ss-ws.c:147,7'
          Dst:             lws_is_final_fragment
        - Src:             'lib/secure-streams/protocols/ss-ws.c:155,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-ws.c:166,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-ws.c:191,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-ws.c:194,4'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/protocols/ss-ws.c:194,4'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/protocols/ss-ws.c:194,4'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/protocols/ss-ws.c:195,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-ws.c:196,4'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/secure-streams/protocols/ss-ws.c:197,4'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/protocols/ss-ws.c:200,4'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/protocols/ss-ws.c:200,4'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/protocols/ss-ws.c:200,4'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/protocols/ss-ws.c:201,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-ws.c:202,4'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/secure-streams/protocols/ss-ws.c:203,4'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/protocols/ss-ws.c:206,4'
          Dst:             lwsl_ss_get_cx
        - Src:             'lib/secure-streams/protocols/ss-ws.c:206,4'
          Dst:             _lws_log_cx
        - Src:             'lib/secure-streams/protocols/ss-ws.c:206,4'
          Dst:             lws_log_prepend_ss
        - Src:             'lib/secure-streams/protocols/ss-ws.c:207,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-ws.c:208,4'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/secure-streams/protocols/ss-ws.c:209,4'
          Dst:             __assert_fail
        - Src:             'lib/secure-streams/protocols/ss-ws.c:212,8'
          Dst:             lws_write_ws_flags
        - Src:             'lib/secure-streams/protocols/ss-ws.c:217,7'
          Dst:             lws_write
        - Src:             'lib/secure-streams/protocols/ss-ws.c:219,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-ws.c:231,10'
          Dst:             secstream_h1
        - Src:             'lib/secure-streams/protocols/ss-ws.c:238,9'
          Dst:             lws_callback_http_dummy
    - functionName:    lws_plat_drop_app_privileges
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-caps.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 279
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         47
      ICount:          310
      EdgeCount:       63
      CyclomaticComplexity: 18
      functionsReached:
        - __errno_location
        - _lws_log_cx
        - getgrgid_r
        - getpwuid_r
        - initgroups
        - lws_log_prepend_context
        - lws_plat_group_to_gid
        - lws_plat_user_to_uid
        - lwsl_context_get_cx
        - setgid
        - setuid
        - strerror
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-caps.c:167,8'
          Dst:             lws_plat_group_to_gid
        - Src:             'lib/plat/unix/unix-caps.c:168,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:168,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:168,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:172,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:172,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:172,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:182,8'
          Dst:             lws_plat_user_to_uid
        - Src:             'lib/plat/unix/unix-caps.c:184,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:184,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:184,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:187,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:187,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:187,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:203,7'
          Dst:             getgrgid_r
        - Src:             'lib/plat/unix/unix-caps.c:208,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:208,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:208,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:214,7'
          Dst:             setgid
        - Src:             'lib/plat/unix/unix-caps.c:215,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:215,4'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-caps.c:215,4'
          Dst:             strerror
        - Src:             'lib/plat/unix/unix-caps.c:215,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:215,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:221,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:221,3'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:221,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:223,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:223,3'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:223,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:233,7'
          Dst:             getpwuid_r
        - Src:             'lib/plat/unix/unix-caps.c:238,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:238,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:238,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:248,7'
          Dst:             initgroups
        - Src:             'lib/plat/unix/unix-caps.c:255,7'
          Dst:             setuid
        - Src:             'lib/plat/unix/unix-caps.c:256,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:256,4'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-caps.c:256,4'
          Dst:             strerror
        - Src:             'lib/plat/unix/unix-caps.c:256,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:256,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:261,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:261,4'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:261,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-caps.c:276,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-caps.c:276,3'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-caps.c:276,3'
          Dst:             lws_log_prepend_context
    - functionName:    lws_plat_group_to_gid
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-caps.c'
      linkageType:     InternalLinkage
      functionLinenumber: 92
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          104
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - _lws_log
        - getgrnam_r
        - strtol
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-caps.c:101,14'
          Dst:             strtol
        - Src:             'lib/plat/unix/unix-caps.c:113,7'
          Dst:             getgrnam_r
        - Src:             'lib/plat/unix/unix-caps.c:119,4'
          Dst:             _lws_log
    - functionName:    lws_plat_user_to_uid
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-caps.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          104
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - _lws_log
        - getpwnam_r
        - strtol
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-caps.c:62,14'
          Dst:             strtol
        - Src:             'lib/plat/unix/unix-caps.c:74,7'
          Dst:             getpwnam_r
        - Src:             'lib/plat/unix/unix-caps.c:80,4'
          Dst:             _lws_log
    - functionName:    getgrgid_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    setgid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strerror
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getpwuid_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    initgroups
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    setuid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getpwnam_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getgrnam_r
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_plat_user_colon_group_to_ids
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-caps.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          96
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - lws_plat_group_to_gid
        - lws_plat_user_to_uid
        - strchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-caps.c:132,22'
          Dst:             strchr
        - Src:             'lib/plat/unix/unix-caps.c:148,6'
          Dst:             lws_plat_group_to_gid
        - Src:             'lib/plat/unix/unix-caps.c:151,6'
          Dst:             lws_plat_user_to_uid
    - functionName:    lws_plat_context_late_destroy
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 265
      functionLinenumberEnd: 283
      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:272,3'
          Dst:             lws_realloc
        - Src:             'lib/plat/unix/unix-init.c:275,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-init.c:277,3'
          Dst:             close
    - functionName:    lws_plat_context_early_destroy
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 260
      functionLinenumberEnd: 261
      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: 250
      functionLinenumberEnd: 255
      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:252,2'
          Dst:             signal
    - functionName:    lws_sul_plat_unix
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          172
      EdgeCount:       33
      CyclomaticComplexity: 9
      functionsReached:
        - __lws_sul_insert
        - _lws_log
        - _lws_vhost_init_server
        - getpid
        - kill
        - lws_now_usecs
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-init.c:58,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-init.c:59,8'
          Dst:             getpid
        - Src:             'lib/plat/unix/unix-init.c:59,3'
          Dst:             kill
        - Src:             'lib/plat/unix/unix-init.c:68,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-init.c:69,7'
          Dst:             _lws_vhost_init_server
        - Src:             'lib/plat/unix/unix-init.c:71,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-init.c:80,2'
          Dst:             lws_now_usecs
        - Src:             'lib/plat/unix/unix-init.c:80,2'
          Dst:             __lws_sul_insert
    - functionName:    kill
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_plat_init
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          160
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - __lws_sul_insert
        - _lws_log
        - _lws_log_cx
        - getenv
        - lws_log_prepend_context
        - lws_now_usecs
        - lws_open
        - lws_zalloc
        - lwsl_context_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-init.c:131,24'
          Dst:             lws_zalloc
        - Src:             'lib/plat/unix/unix-init.c:135,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-init.c:135,3'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-init.c:135,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-init.c:174,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-init.c:174,2'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-init.c:174,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-init.c:178,7'
          Dst:             lws_open
        - Src:             'lib/plat/unix/unix-init.c:184,3'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-init.c:184,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-init.c:192,19'
          Dst:             getenv
        - Src:             'lib/plat/unix/unix-init.c:241,2'
          Dst:             lws_now_usecs
        - Src:             'lib/plat/unix/unix-init.c:241,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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-file.c:43,9'
          Dst:             fcntl
    - functionName:    fcntl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_plat_pipe_is_fd_assocated
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          42
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_plat_pipe_close
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          110
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - close
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-pipe.c:90,3'
          Dst:             close
        - Src:             'lib/plat/unix/unix-pipe.c:96,3'
          Dst:             close
    - functionName:    lws_plat_pipe_signal
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 66
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - eventfd_write
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-pipe.c:71,9'
          Dst:             eventfd_write
    - functionName:    eventfd_write
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_plat_pipe_create
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          99
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - eventfd
        - fcntl
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-pipe.c:37,26'
          Dst:             eventfd
        - Src:             'lib/plat/unix/unix-pipe.c:53,7'
          Dst:             fcntl
        - Src:             'lib/plat/unix/unix-pipe.c:56,8'
          Dst:             fcntl
    - functionName:    eventfd
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_plat_service
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 279
      functionLinenumberEnd: 280
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_plat_service_tsi
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-service.c:280,9'
          Dst:             _lws_plat_service_tsi
    - functionName:    _lws_plat_service_tsi
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 275
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         55
      ICount:          417
      EdgeCount:       74
      CyclomaticComplexity: 21
      functionsReached:
        - __lws_change_pollfd
        - __lws_sul_service_ripe
        - _lws_plat_service_forced_tsi
        - lws_context_destroy
        - lws_now_usecs
        - lws_realloc
        - lws_service_adjust_timeout
        - lws_service_do_ripe_rxflow
        - poll
        - wsi_from_fd
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-service.c:99,9'
          Dst:             lws_now_usecs
        - Src:             'lib/plat/unix/unix-service.c:131,7'
          Dst:             __lws_sul_service_ripe
        - Src:             'lib/plat/unix/unix-service.c:146,7'
          Dst:             lws_service_adjust_timeout
        - Src:             'lib/plat/unix/unix-service.c:163,6'
          Dst:             poll
        - Src:             'lib/plat/unix/unix-service.c:224,10'
          Dst:             wsi_from_fd
        - Src:             'lib/plat/unix/unix-service.c:226,5'
          Dst:             __lws_change_pollfd
        - Src:             'lib/plat/unix/unix-service.c:233,3'
          Dst:             lws_realloc
        - Src:             'lib/plat/unix/unix-service.c:259,3'
          Dst:             lws_service_do_ripe_rxflow
        - Src:             'lib/plat/unix/unix-service.c:261,7'
          Dst:             _lws_plat_service_forced_tsi
        - Src:             'lib/plat/unix/unix-service.c:270,3'
          Dst:             lws_context_destroy
    - functionName:    poll
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _lws_plat_service_forced_tsi
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 67
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          130
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log
        - lws_service_do_ripe_rxflow
        - lws_service_fd_tsi
        - lws_service_flag_pending
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-service.c:42,6'
          Dst:             lws_service_flag_pending
        - Src:             'lib/plat/unix/unix-service.c:51,7'
          Dst:             lws_service_fd_tsi
        - Src:             'lib/plat/unix/unix-service.c:53,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-service.c:64,2'
          Dst:             lws_service_do_ripe_rxflow
    - functionName:    lws_poll_listen_fd
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 33
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - poll
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-service.c:33,9'
          Dst:             poll
    - functionName:    lws_plat_vhost_tls_client_ctx_init
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 681
      functionLinenumberEnd: 682
      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: 615
      functionLinenumberEnd: 677
      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:623,2'
          Dst:             lws_strncpy
        - Src:             'lib/plat/unix/unix-sockets.c:625,2'
          Dst:             lws_plat_if_up
        - Src:             'lib/plat/unix/unix-sockets.c:628,6'
          Dst:             ioctl
        - Src:             'lib/plat/unix/unix-sockets.c:629,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:641,7'
          Dst:             ioctl
        - Src:             'lib/plat/unix/unix-sockets.c:642,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:646,3'
          Dst:             lws_plat_if_up
        - Src:             'lib/plat/unix/unix-sockets.c:660,7'
          Dst:             ioctl
        - Src:             'lib/plat/unix/unix-sockets.c:661,4'
          Dst:             htonl
        - Src:             'lib/plat/unix/unix-sockets.c:661,4'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-sockets.c:661,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:669,3'
          Dst:             lws_plat_if_up
    - functionName:    lws_plat_if_up
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 552
      functionLinenumberEnd: 580
      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:557,2'
          Dst:             lws_strncpy
        - Src:             'lib/plat/unix/unix-sockets.c:559,6'
          Dst:             ioctl
        - Src:             'lib/plat/unix/unix-sockets.c:560,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:569,6'
          Dst:             ioctl
        - Src:             'lib/plat/unix/unix-sockets.c:570,3'
          Dst:             _lws_log
    - functionName:    lws_plat_BINDTODEVICE
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 584
      functionLinenumberEnd: 611
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          63
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - _lws_log
        - lws_strncpy
        - setsockopt
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-sockets.c:598,2'
          Dst:             lws_strncpy
        - Src:             'lib/plat/unix/unix-sockets.c:600,6'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:601,3'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-sockets.c:601,3'
          Dst:             _lws_log
    - functionName:    lws_plat_rawudp_broadcast
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 513
      functionLinenumberEnd: 542
      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:525,26'
          Dst:             ntohs
        - Src:             'lib/plat/unix/unix-sockets.c:537,32'
          Dst:             htons
        - Src:             'lib/plat/unix/unix-sockets.c:539,25'
          Dst:             if_nametoindex
        - Src:             'lib/plat/unix/unix-sockets.c:542,14'
          Dst:             sendto
    - functionName:    sendto
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - size_t
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_plat_ifname_to_hwaddr
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 490
      functionLinenumberEnd: 508
      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:495,2'
          Dst:             lws_strncpy
        - Src:             'lib/plat/unix/unix-sockets.c:497,6'
          Dst:             ioctl
    - functionName:    lws_plat_inet_pton
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 484
      functionLinenumberEnd: 485
      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:485,9'
          Dst:             inet_pton
    - functionName:    lws_plat_inet_ntop
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 478
      functionLinenumberEnd: 479
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - inet_ntop
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-sockets.c:479,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: 359
      functionLinenumberEnd: 473
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          285
      EdgeCount:       55
      CyclomaticComplexity: 14
      functionsReached:
        - __errno_location
        - _lws_log
        - freeifaddrs
        - getifaddrs
        - lws_sa46_parse_numeric_address
        - strcmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/plat/unix/unix-sockets.c:387,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/plat/unix/unix-sockets.c:371,6'
          Dst:             getifaddrs
        - Src:             'lib/plat/unix/unix-sockets.c:372,3'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-sockets.c:372,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:380,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:384,7'
          Dst:             strcmp
        - Src:             'lib/plat/unix/unix-sockets.c:413,5'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:448,2'
          Dst:             freeifaddrs
        - Src:             'lib/plat/unix/unix-sockets.c:462,8'
          Dst:             lws_sa46_parse_numeric_address
    - functionName:    lws_plat_set_socket_options_ip
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 237
      functionLinenumberEnd: 343
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          125
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - _lws_log
        - setsockopt
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-sockets.c:267,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:270,9'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-sockets.c:271,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:276,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:282,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:285,9'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-sockets.c:286,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:291,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:299,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:302,11'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-sockets.c:303,6'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:308,4'
          Dst:             _lws_log
    - functionName:    lws_plat_set_socket_options
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 206
      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:130,8'
          Dst:             fcntl
        - Src:             'lib/plat/unix/unix-sockets.c:135,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:155,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:160,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:165,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:170,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:178,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:180,16'
          Dst:             strlen
        - Src:             'lib/plat/unix/unix-sockets.c:179,7'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:181,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-sockets.c:197,19'
          Dst:             setsockopt
        - Src:             'lib/plat/unix/unix-sockets.c:205,9'
          Dst:             lws_plat_set_nonblocking
    - functionName:    lws_plat_set_nonblocking
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - fcntl
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-sockets.c:113,9'
          Dst:             fcntl
    - functionName:    lws_send_pipe_choked
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-sockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          93
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - lws_get_network_wsi
        - lws_has_buffered_out
        - poll
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-sockets.c:70,12'
          Dst:             lws_get_network_wsi
        - Src:             'lib/plat/unix/unix-sockets.c:77,24'
          Dst:             lws_has_buffered_out
        - Src:             'lib/plat/unix/unix-sockets.c:87,6'
          Dst:             lws_has_buffered_out
        - Src:             'lib/plat/unix/unix-sockets.c:99,6'
          Dst:             poll
    - functionName:    lws_plat_change_pollfd
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-fds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 305
      functionLinenumberEnd: 306
      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: 292
      functionLinenumberEnd: 300
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          61
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_event_loop_ops_io
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-fds.c:296,3'
          Dst:             _lws_event_loop_ops_io
    - functionName:    lws_plat_insert_socket_into_fds
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-fds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 280
      functionLinenumberEnd: 287
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          66
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_event_loop_ops_io
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-fds.c:284,3'
          Dst:             _lws_event_loop_ops_io
    - functionName:    delete_from_fdwsi
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-fds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 256
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          84
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    delete_from_fd
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-fds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 252
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         40
      ICount:          214
      EdgeCount:       50
      CyclomaticComplexity: 12
      functionsReached:
        - __assert_fail
        - _lws_log
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-fds.c:209,4'
          Dst:             __assert_fail
        - Src:             'lib/plat/unix/unix-fds.c:219,2'
          Dst:             __assert_fail
        - Src:             'lib/plat/unix/unix-fds.c:247,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-fds.c:249,3'
          Dst:             __assert_fail
    - functionName:    insert_wsi
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-fds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 197
      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:159,6'
          Dst:             sanity_assert_no_wsi_traces
        - Src:             'lib/plat/unix/unix-fds.c:163,3'
          Dst:             __assert_fail
        - Src:             'lib/plat/unix/unix-fds.c:179,6'
          Dst:             sanity_assert_no_sockfd_traces
        - Src:             'lib/plat/unix/unix-fds.c:190,3'
          Dst:             _lws_log
    - functionName:    sanity_assert_no_wsi_traces
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-fds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          145
      EdgeCount:       30
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-fds.c:96,2'
          Dst:             __assert_fail
    - functionName:    sanity_assert_no_sockfd_traces
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-fds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          146
      EdgeCount:       34
      CyclomaticComplexity: 9
      functionsReached:
        - __assert_fail
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-fds.c:119,3'
          Dst:             __assert_fail
        - Src:             'lib/plat/unix/unix-fds.c:146,2'
          Dst:             __assert_fail
    - functionName:    wsi_from_fd
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-fds.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          145
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_versioned_certs_cb
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 905
      functionLinenumberEnd: 937
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          224
      EdgeCount:       43
      CyclomaticComplexity: 13
      functionsReached:
        - lws_strncpy
        - strcmp
        - strlen
        - strncmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:907,22'
          Dst:             strlen
        - Src:             'lib/tls/tls.c:908,20'
          Dst:             strlen
        - Src:             'lib/tls/tls.c:909,22'
          Dst:             strlen
        - Src:             'lib/tls/tls.c:916,7'
          Dst:             strncmp
        - Src:             'lib/tls/tls.c:917,7'
          Dst:             strcmp
        - Src:             'lib/tls/tls.c:932,4'
          Dst:             lws_strncpy
        - Src:             'lib/tls/tls.c:933,4'
          Dst:             lws_strncpy
    - functionName:    lws_tls_find_versioned_certs
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 944
      functionLinenumberEnd: 995
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          176
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - lws_dir
        - lws_snprintf
        - lws_strncpy
        - lws_tls_versioned_certs_cb
        - strrchr
        - strstr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:955,6'
          Dst:             strrchr
        - Src:             'lib/tls/tls.c:963,2'
          Dst:             lws_strncpy
        - Src:             'lib/tls/tls.c:966,6'
          Dst:             strstr
        - Src:             'lib/tls/tls.c:968,13'
          Dst:             strstr
        - Src:             'lib/tls/tls.c:970,13'
          Dst:             strstr
        - Src:             'lib/tls/tls.c:979,27'
          Dst:             strstr
        - Src:             'lib/tls/tls.c:983,2'
          Dst:             lws_strncpy
        - Src:             'lib/tls/tls.c:989,2'
          Dst:             lws_dir
        - Src:             'lib/tls/tls.c:989,2'
          Dst:             lws_tls_versioned_certs_cb
        - Src:             'lib/tls/tls.c:992,3'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:994,3'
          Dst:             lws_snprintf
    - functionName:    lws_tls_resolve_grace_period_certs
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1003
      functionLinenumberEnd: 1092
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         59
      ICount:          366
      EdgeCount:       80
      CyclomaticComplexity: 23
      functionsReached:
        - _lws_log
        - atoi
        - close
        - lws_snprintf
        - lws_strncpy
        - lws_system_parse_policy
        - lws_system_policy_free
        - lws_tls_cert_get_x509_validity
        - lws_tls_find_versioned_certs
        - open
        - read
        - strchr
        - strstr
        - time
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:1007,15'
          Dst:             time
        - Src:             'lib/tls/tls.c:1018,2'
          Dst:             lws_strncpy
        - Src:             'lib/tls/tls.c:1019,2'
          Dst:             lws_strncpy
        - Src:             'lib/tls/tls.c:1023,7'
          Dst:             strstr
        - Src:             'lib/tls/tls.c:1023,43'
          Dst:             strstr
        - Src:             'lib/tls/tls.c:1026,2'
          Dst:             lws_tls_find_versioned_certs
        - Src:             'lib/tls/tls.c:1030,2'
          Dst:             lws_tls_find_versioned_certs
        - Src:             'lib/tls/tls.c:1037,6'
          Dst:             lws_tls_cert_get_x509_validity
        - Src:             'lib/tls/tls.c:1039,3'
          Dst:             lws_strncpy
        - Src:             'lib/tls/tls.c:1040,3'
          Dst:             lws_strncpy
        - Src:             'lib/tls/tls.c:1044,2'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:1046,6'
          Dst:             lws_system_parse_policy
        - Src:             'lib/tls/tls.c:1047,3'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:1048,3'
          Dst:             lws_system_policy_free
        - Src:             'lib/tls/tls.c:1052,11'
          Dst:             open
        - Src:             'lib/tls/tls.c:1055,16'
          Dst:             read
        - Src:             'lib/tls/tls.c:1058,28'
          Dst:             strstr
        - Src:             'lib/tls/tls.c:1060,17'
          Dst:             strstr
        - Src:             'lib/tls/tls.c:1062,27'
          Dst:             strchr
        - Src:             'lib/tls/tls.c:1068,22'
          Dst:             atoi
        - Src:             'lib/tls/tls.c:1072,3'
          Dst:             close
        - Src:             'lib/tls/tls.c:1077,7'
          Dst:             lws_tls_cert_get_x509_validity
        - Src:             'lib/tls/tls.c:1080,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:1082,3'
          Dst:             lws_strncpy
        - Src:             'lib/tls/tls.c:1083,3'
          Dst:             lws_strncpy
        - Src:             'lib/tls/tls.c:1085,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:1086,3'
          Dst:             lws_strncpy
        - Src:             'lib/tls/tls.c:1087,3'
          Dst:             lws_strncpy
    - functionName:    lws_tls_cert_get_x509_validity
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 859
      functionLinenumberEnd: 892
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          119
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - alloc_file
        - lws_realloc
        - lws_x509_create
        - lws_x509_destroy
        - lws_x509_info
        - lws_x509_parse_from_pem
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:866,6'
          Dst:             alloc_file
        - Src:             'lib/tls/tls.c:871,6'
          Dst:             lws_x509_create
        - Src:             'lib/tls/tls.c:874,6'
          Dst:             lws_x509_parse_from_pem
        - Src:             'lib/tls/tls.c:877,7'
          Dst:             lws_x509_info
        - Src:             'lib/tls/tls.c:878,7'
          Dst:             lws_x509_info
        - Src:             'lib/tls/tls.c:887,2'
          Dst:             lws_x509_destroy
        - Src:             'lib/tls/tls.c:889,2'
          Dst:             lws_realloc
    - functionName:    alloc_file
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 424
      functionLinenumberEnd: 471
      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:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:430,6'
          Dst:             fopen
        - Src:             'lib/tls/tls.c:436,6'
          Dst:             fseek
        - Src:             'lib/tls/tls.c:441,15'
          Dst:             ftell
        - Src:             'lib/tls/tls.c:448,6'
          Dst:             fseek
        - Src:             'lib/tls/tls.c:453,9'
          Dst:             lws_realloc
        - Src:             'lib/tls/tls.c:459,6'
          Dst:             fread
        - Src:             'lib/tls/tls.c:460,3'
          Dst:             lws_realloc
        - Src:             'lib/tls/tls.c:469,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_x509_cert_fingerprint
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 818
      functionLinenumberEnd: 854
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          117
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - lws_genhash_destroy
        - lws_genhash_init
        - lws_genhash_size
        - lws_genhash_update
        - lws_realloc
        - lws_x509_info
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:825,13'
          Dst:             lws_genhash_size
        - Src:             'lib/tls/tls.c:829,8'
          Dst:             lws_realloc
        - Src:             'lib/tls/tls.c:835,6'
          Dst:             lws_x509_info
        - Src:             'lib/tls/tls.c:838,6'
          Dst:             lws_genhash_init
        - Src:             'lib/tls/tls.c:841,6'
          Dst:             lws_genhash_update
        - Src:             'lib/tls/tls.c:842,3'
          Dst:             lws_genhash_destroy
        - Src:             'lib/tls/tls.c:846,6'
          Dst:             lws_genhash_destroy
        - Src:             'lib/tls/tls.c:852,2'
          Dst:             lws_realloc
    - functionName:    lws_tls_cert_get_x509_remaining
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 777
      functionLinenumberEnd: 813
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          115
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - alloc_file
        - lws_realloc
        - lws_x509_create
        - lws_x509_destroy
        - lws_x509_info
        - lws_x509_parse_from_pem
        - time
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:787,6'
          Dst:             alloc_file
        - Src:             'lib/tls/tls.c:792,6'
          Dst:             lws_x509_create
        - Src:             'lib/tls/tls.c:795,6'
          Dst:             lws_x509_parse_from_pem
        - Src:             'lib/tls/tls.c:798,7'
          Dst:             lws_x509_info
        - Src:             'lib/tls/tls.c:799,7'
          Dst:             lws_x509_info
        - Src:             'lib/tls/tls.c:800,16'
          Dst:             time
        - Src:             'lib/tls/tls.c:808,2'
          Dst:             lws_x509_destroy
        - Src:             'lib/tls/tls.c:810,2'
          Dst:             lws_realloc
    - functionName:    lws_tls_extant
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 672
      functionLinenumberEnd: 686
      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:674,11'
          Dst:             open
        - Src:             'lib/tls/tls.c:682,6'
          Dst:             read
        - Src:             'lib/tls/tls.c:683,2'
          Dst:             close
    - functionName:    lws_tls_use_any_upgrade_check_extant
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 720
      functionLinenumberEnd: 773
      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:728,2'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:729,7'
          Dst:             lws_tls_extant
        - Src:             'lib/tls/tls.c:731,8'
          Dst:             lws_tls_extant
        - Src:             'lib/tls/tls.c:734,5'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:736,10'
          Dst:             rename
        - Src:             'lib/tls/tls.c:740,5'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:744,4'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:747,7'
          Dst:             rename
        - Src:             'lib/tls/tls.c:748,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:754,6'
          Dst:             lws_tls_extant
    - functionName:    lws_tls_client_vhost_ca_mem_parse
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 604
      functionLinenumberEnd: 662
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         54
      ICount:          264
      EdgeCount:       73
      CyclomaticComplexity: 21
      functionsReached:
        - _lws_log
        - lws_realloc
        - lws_tls_alloc_pem_to_der_file
        - lws_tls_client_vhost_extra_cert_mem
        - strstr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:616,6'
          Dst:             strstr
        - Src:             'lib/tls/tls.c:618,10'
          Dst:             lws_tls_client_vhost_extra_cert_mem
        - Src:             'lib/tls/tls.c:624,7'
          Dst:             strstr
        - Src:             'lib/tls/tls.c:628,7'
          Dst:             strstr
        - Src:             'lib/tls/tls.c:641,8'
          Dst:             lws_tls_alloc_pem_to_der_file
        - Src:             'lib/tls/tls.c:645,10'
          Dst:             lws_tls_client_vhost_extra_cert_mem
        - Src:             'lib/tls/tls.c:648,5'
          Dst:             lws_realloc
        - Src:             'lib/tls/tls.c:656,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:660,2'
          Dst:             _lws_log
    - functionName:    lws_tls_alloc_pem_to_der_file
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 491
      functionLinenumberEnd: 598
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         57
      ICount:          342
      EdgeCount:       78
      CyclomaticComplexity: 23
      functionsReached:
        - _lws_log
        - alloc_file
        - lws_b64_decode_string_len
        - lws_realloc
        - lwsl_hexdump_level
        - strncmp
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:498,7'
          Dst:             alloc_file
        - Src:             'lib/tls/tls.c:512,6'
          Dst:             strncmp
        - Src:             'lib/tls/tls.c:516,9'
          Dst:             lws_realloc
        - Src:             'lib/tls/tls.c:532,9'
          Dst:             lws_realloc
        - Src:             'lib/tls/tls.c:534,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:563,20'
          Dst:             strncmp
        - Src:             'lib/tls/tls.c:579,5'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:580,5'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/tls/tls.c:582,6'
          Dst:             lws_b64_decode_string_len
        - Src:             'lib/tls/tls.c:585,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:595,2'
          Dst:             lws_realloc
    - functionName:    lws_tls_server_conn_alpn
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 302
      functionLinenumberEnd: 383
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          151
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - SSL_get0_alpn_selected
        - _lws_log
        - _lws_log_cx
        - lws_cache_write_through
        - lws_log_prepend_wsi
        - lws_now_usecs
        - lws_role_call_alpn_negotiated
        - lws_snprintf
        - lwsl_wsi_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:310,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:313,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:345,2'
          Dst:             SSL_get0_alpn_selected
        - Src:             'lib/tls/tls.c:348,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:358,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:366,3'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:369,6'
          Dst:             lws_now_usecs
        - Src:             'lib/tls/tls.c:368,3'
          Dst:             lws_cache_write_through
        - Src:             'lib/tls/tls.c:370,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/tls/tls.c:370,3'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls.c:370,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/tls/tls.c:374,9'
          Dst:             lws_role_call_alpn_negotiated
    - functionName:    SSL_get0_alpn_selected
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alpn_cb
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 106
      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:99,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: 259
      functionLinenumberEnd: 298
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          80
      EdgeCount:       11
      CyclomaticComplexity: 4
      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:268,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:270,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:273,37'
          Dst:             lws_alpn_comma_to_openssl
        - Src:             'lib/tls/tls.c:288,2'
          Dst:             SSL_CTX_set_alpn_select_cb
        - Src:             'lib/tls/tls.c:288,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: 236
      functionLinenumberEnd: 255
      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:245,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:252,3'
          Dst:             lws_tls_restrict_return_handshake
        - Src:             'lib/tls/tls.c:254,3'
          Dst:             _lws_tls_restrict_return
    - functionName:    lws_tls_restrict_return_handshake
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 216
      functionLinenumberEnd: 232
      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:227,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:231,2'
          Dst:             _lws_tls_restrict_return
    - functionName:    _lws_tls_restrict_return
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 212
      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:203,2'
          Dst:             __assert_fail
        - Src:             'lib/tls/tls.c:204,2'
          Dst:             __assert_fail
        - Src:             'lib/tls/tls.c:206,2'
          Dst:             lws_gate_accepts
    - functionName:    lws_tls_restrict_borrow
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 195
      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:157,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:165,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:175,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:179,2'
          Dst:             __assert_fail
        - Src:             'lib/tls/tls.c:182,2'
          Dst:             __assert_fail
        - Src:             'lib/tls/tls.c:187,2'
          Dst:             lws_gate_accepts
    - functionName:    lws_klog_dump
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 83
      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:37,34'
          Dst:             SSL_get_ex_data
        - Src:             'lib/tls/tls.c:46,2'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:49,7'
          Dst:             open
        - Src:             'lib/tls/tls.c:51,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls.c:51,3'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls.c:51,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/tls/tls.c:56,7'
          Dst:             strncmp
        - Src:             'lib/tls/tls.c:57,16'
          Dst:             write
        - Src:             'lib/tls/tls.c:59,7'
          Dst:             lwsl_timestamp
        - Src:             'lib/tls/tls.c:61,16'
          Dst:             write
        - Src:             'lib/tls/tls.c:63,7'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:64,16'
          Dst:             write
        - Src:             'lib/tls/tls.c:67,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls.c:67,3'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls.c:67,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/tls/tls.c:70,8'
          Dst:             strlen
        - Src:             'lib/tls/tls.c:75,4'
          Dst:             strlen
        - Src:             'lib/tls/tls.c:71,15'
          Dst:             write
        - Src:             'lib/tls/tls.c:76,15'
          Dst:             write
        - Src:             'lib/tls/tls.c:77,2'
          Dst:             close
        - Src:             'lib/tls/tls.c:80,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls.c:80,3'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls.c:80,3'
          Dst:             lws_log_prepend_vhost
    - functionName:    SSL_get_ex_data
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_cleanup_process
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 426
      functionLinenumberEnd: 446
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          26
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_alpn_comma_to_openssl
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 385
      functionLinenumberEnd: 419
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          169
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_gate_accepts
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 352
      functionLinenumberEnd: 378
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          125
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log_cx
        - lws_change_pollfd
        - lws_dll2_get_head
        - lws_log_prepend_context
        - lwsl_context_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:358,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/tls/tls-network.c:358,2'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:358,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/tls/tls-network.c:363,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/tls/tls-network.c:369,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/tls/tls-network.c:371,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/tls/tls-network.c:371,5'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:371,5'
          Dst:             lws_log_prepend_context
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_generic_cert_checks
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 250
      functionLinenumberEnd: 287
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          112
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_vhost
        - lws_tls_use_any_upgrade_check_extant
        - lwsl_vhost_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:267,11'
          Dst:             lws_tls_use_any_upgrade_check_extant
        - Src:             'lib/tls/tls-network.c:270,11'
          Dst:             lws_tls_use_any_upgrade_check_extant
        - Src:             'lib/tls/tls-network.c:276,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls-network.c:276,3'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:276,3'
          Dst:             lws_log_prepend_vhost
    - functionName:    lws_tls_check_all_cert_lifetimes
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 230
      functionLinenumberEnd: 240
      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:234,7'
          Dst:             lws_tls_check_cert_lifetime
    - functionName:    lws_tls_check_cert_lifetime
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 226
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         43
      ICount:          264
      EdgeCount:       58
      CyclomaticComplexity: 17
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - lws_broadcast
        - lws_log_prepend_vhost
        - lws_now_secs
        - lws_tls_cert_get_x509_validity
        - lws_tls_cert_updated
        - lws_tls_resolve_grace_period_certs
        - lws_tls_vhost_cert_info
        - lwsl_vhost_get_cx
        - strstr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:161,23'
          Dst:             lws_now_secs
        - Src:             'lib/tls/tls-network.c:168,7'
          Dst:             strstr
        - Src:             'lib/tls/tls-network.c:169,7'
          Dst:             strstr
        - Src:             'lib/tls/tls-network.c:176,7'
          Dst:             lws_tls_resolve_grace_period_certs
        - Src:             'lib/tls/tls-network.c:182,8'
          Dst:             lws_tls_cert_get_x509_validity
        - Src:             'lib/tls/tls-network.c:185,9'
          Dst:             lws_tls_vhost_cert_info
        - Src:             'lib/tls/tls-network.c:187,9'
          Dst:             lws_tls_vhost_cert_info
        - Src:             'lib/tls/tls-network.c:191,7'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-network.c:193,7'
          Dst:             lws_tls_cert_updated
        - Src:             'lib/tls/tls-network.c:209,7'
          Dst:             lws_tls_vhost_cert_info
        - Src:             'lib/tls/tls-network.c:215,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls-network.c:215,3'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:215,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/tls/tls-network.c:218,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls-network.c:218,3'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:218,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/tls/tls-network.c:222,2'
          Dst:             lws_broadcast
    - functionName:    lws_tls_cert_updated
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 298
      functionLinenumberEnd: 347
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          248
      EdgeCount:       46
      CyclomaticComplexity: 14
      functionsReached:
        - _lws_log_cx
        - lws_dll2_add_tail
        - lws_log_prepend_vhost
        - lws_tls_ctx_ref_create
        - lws_tls_ctx_ref_unref
        - lws_tls_server_certs_load
        - lws_tls_vhost_backend_create_ctx
        - lws_tls_vhost_backend_free_ctx
        - lwsl_vhost_get_cx
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:306,8'
          Dst:             strcmp
        - Src:             'lib/tls/tls-network.c:307,8'
          Dst:             strcmp
        - Src:             'lib/tls/tls-network.c:312,8'
          Dst:             lws_tls_vhost_backend_create_ctx
        - Src:             'lib/tls/tls-network.c:313,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls-network.c:313,5'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:313,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/tls/tls-network.c:317,38'
          Dst:             lws_tls_ctx_ref_create
        - Src:             'lib/tls/tls-network.c:319,5'
          Dst:             lws_tls_vhost_backend_free_ctx
        - Src:             'lib/tls/tls-network.c:324,8'
          Dst:             lws_tls_server_certs_load
        - Src:             'lib/tls/tls-network.c:328,5'
          Dst:             lws_tls_ctx_ref_unref
        - Src:             'lib/tls/tls-network.c:330,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls-network.c:330,5'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:330,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/tls/tls-network.c:338,5'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/tls/tls-network.c:339,5'
          Dst:             lws_tls_ctx_ref_unref
        - Src:             'lib/tls/tls-network.c:343,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls-network.c:343,5'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:343,5'
          Dst:             lws_log_prepend_vhost
    - functionName:    lws_tls_ctx_ref_create
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 102
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - lws_zalloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:93,8'
          Dst:             lws_zalloc
    - functionName:    lws_tls_ctx_ref_unref
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_dll2_remove
        - lws_realloc
        - lws_tls_vhost_backend_free_ctx
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:129,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/tls/tls-network.c:130,3'
          Dst:             lws_tls_vhost_backend_free_ctx
        - Src:             'lib/tls/tls-network.c:131,3'
          Dst:             lws_realloc
    - functionName:    lws_tls_ctx_ref_destroy_all
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          96
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log_cx
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_log_prepend_vhost
        - lws_realloc
        - lws_tls_ctx_ref_unref
        - lws_tls_vhost_backend_free_ctx
        - lwsl_vhost_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:140,3'
          Dst:             lws_tls_ctx_ref_unref
        - Src:             'lib/tls/tls-network.c:145,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/tls/tls-network.c:148,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/tls/tls-network.c:148,3'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls-network.c:148,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/tls/tls-network.c:150,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/tls/tls-network.c:151,3'
          Dst:             lws_tls_vhost_backend_free_ctx
        - Src:             'lib/tls/tls-network.c:152,3'
          Dst:             lws_realloc
    - functionName:    lws_tls_ctx_ref_get
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          31
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ssl_remove_wsi_from_buffered_list
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_ssl_remove_wsi_from_buffered_list
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:81,2'
          Dst:             __lws_ssl_remove_wsi_from_buffered_list
    - functionName:    __lws_ssl_remove_wsi_from_buffered_list
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_remove
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:72,2'
          Dst:             lws_dll2_remove
    - functionName:    lws_tls_fake_POLLIN_for_buffered
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          170
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:38,2'
          Dst:             lws_dll2_get_head
    - functionName:    lws_context_deinit_ssl_library
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_context_init_ssl_library
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          77
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - CRYPTO_get_ex_new_index
        - OPENSSL_init_ssl
        - _lws_log_cx
        - lws_log_prepend_context
        - lwsl_context_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-tls.c:87,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/tls/openssl/openssl-tls.c:87,4'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/openssl/openssl-tls.c:87,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/tls/openssl/openssl-tls.c:101,3'
          Dst:             OPENSSL_init_ssl
        - Src:             'lib/tls/openssl/openssl-tls.c:107,4'
          Dst:             CRYPTO_get_ex_new_index
        - Src:             'lib/tls/openssl/openssl-tls.c:110,4'
          Dst:             CRYPTO_get_ex_new_index
    - functionName:    OPENSSL_init_ssl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CRYPTO_get_ex_new_index
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_err_describe_clear
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          42
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - ERR_error_string_n
        - ERR_get_error
        - ERR_peek_error
        - _lws_log
      functionUses:    17
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-tls.c:42,7'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-tls.c:46,22'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-tls.c:46,3'
          Dst:             ERR_error_string_n
        - Src:             'lib/tls/openssl/openssl-tls.c:47,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-tls.c:49,2'
          Dst:             _lws_log
    - functionName:    ERR_peek_error
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ERR_get_error
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ERR_error_string_n
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dec
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    16
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_x509_create_self_signed
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1245
      functionLinenumberEnd: 1253
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          53
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_x509_create_cert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:1253,9'
          Dst:             lws_x509_create_cert
    - functionName:    lws_x509_create_cert
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1027
      functionLinenumberEnd: 1238
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         112
      ICount:          691
      EdgeCount:       154
      CyclomaticComplexity: 44
      functionsReached:
        - BIO_free
        - BIO_new_mem_buf
        - BN_free
        - BN_new
        - BN_pseudo_rand
        - BN_to_ASN1_INTEGER
        - EVP_PKEY_CTX_ctrl
        - EVP_PKEY_CTX_free
        - EVP_PKEY_CTX_new_id
        - EVP_PKEY_free
        - EVP_PKEY_keygen
        - EVP_PKEY_keygen_init
        - EVP_PKEY_new
        - EVP_sha256
        - OBJ_ln2nid
        - OBJ_sn2nid
        - PEM_read_bio_PrivateKey
        - PEM_read_bio_X509
        - RSA_pkey_ctx_ctrl
        - X509V3_set_ctx
        - X509_NAME_add_entry_by_txt
        - X509_extension_helper
        - X509_free
        - X509_get_serialNumber
        - X509_get_subject_name
        - X509_getm_notAfter
        - X509_getm_notBefore
        - X509_gmtime_adj
        - X509_new
        - X509_set_issuer_name
        - X509_set_pubkey
        - X509_set_version
        - X509_sign
        - _lws_log
        - i2d_PrivateKey
        - i2d_X509
        - lws_snprintf
        - strchr
        - strcmp
        - strlen
        - strspn
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:1033,19'
          Dst:             EVP_PKEY_new
        - Src:             'lib/tls/openssl/openssl-x509.c:1049,13'
          Dst:             OBJ_sn2nid
        - Src:             'lib/tls/openssl/openssl-x509.c:1051,10'
          Dst:             OBJ_ln2nid
        - Src:             'lib/tls/openssl/openssl-x509.c:1054,9'
          Dst:             strcmp
        - Src:             'lib/tls/openssl/openssl-x509.c:1055,14'
          Dst:             strcmp
        - Src:             'lib/tls/openssl/openssl-x509.c:1056,14'
          Dst:             strcmp
        - Src:             'lib/tls/openssl/openssl-x509.c:1060,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-x509.c:1066,25'
          Dst:             EVP_PKEY_CTX_new_id
        - Src:             'lib/tls/openssl/openssl-x509.c:1068,8'
          Dst:             EVP_PKEY_keygen_init
        - Src:             'lib/tls/openssl/openssl-x509.c:1069,8'
          Dst:             EVP_PKEY_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-x509.c:1070,8'
          Dst:             EVP_PKEY_keygen
        - Src:             'lib/tls/openssl/openssl-x509.c:1071,5'
          Dst:             EVP_PKEY_CTX_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1074,4'
          Dst:             EVP_PKEY_CTX_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1093,25'
          Dst:             EVP_PKEY_CTX_new_id
        - Src:             'lib/tls/openssl/openssl-x509.c:1095,8'
          Dst:             EVP_PKEY_keygen_init
        - Src:             'lib/tls/openssl/openssl-x509.c:1096,8'
          Dst:             RSA_pkey_ctx_ctrl
        - Src:             'lib/tls/openssl/openssl-x509.c:1097,8'
          Dst:             EVP_PKEY_keygen
        - Src:             'lib/tls/openssl/openssl-x509.c:1098,5'
          Dst:             EVP_PKEY_CTX_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1101,4'
          Dst:             EVP_PKEY_CTX_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1113,9'
          Dst:             X509_new
        - Src:             'lib/tls/openssl/openssl-x509.c:1116,2'
          Dst:             X509_set_version
        - Src:             'lib/tls/openssl/openssl-x509.c:1120,26'
          Dst:             X509_get_serialNumber
        - Src:             'lib/tls/openssl/openssl-x509.c:1121,16'
          Dst:             BN_new
        - Src:             'lib/tls/openssl/openssl-x509.c:1125,3'
          Dst:             BN_pseudo_rand
        - Src:             'lib/tls/openssl/openssl-x509.c:1127,3'
          Dst:             BN_to_ASN1_INTEGER
        - Src:             'lib/tls/openssl/openssl-x509.c:1128,3'
          Dst:             BN_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1131,18'
          Dst:             X509_getm_notBefore
        - Src:             'lib/tls/openssl/openssl-x509.c:1131,2'
          Dst:             X509_gmtime_adj
        - Src:             'lib/tls/openssl/openssl-x509.c:1132,18'
          Dst:             X509_getm_notAfter
        - Src:             'lib/tls/openssl/openssl-x509.c:1132,2'
          Dst:             X509_gmtime_adj
        - Src:             'lib/tls/openssl/openssl-x509.c:1134,2'
          Dst:             X509_set_pubkey
        - Src:             'lib/tls/openssl/openssl-x509.c:1140,22'
          Dst:             X509_get_subject_name
        - Src:             'lib/tls/openssl/openssl-x509.c:1141,2'
          Dst:             X509_NAME_add_entry_by_txt
        - Src:             'lib/tls/openssl/openssl-x509.c:1146,9'
          Dst:             BIO_new_mem_buf
        - Src:             'lib/tls/openssl/openssl-x509.c:1147,17'
          Dst:             PEM_read_bio_X509
        - Src:             'lib/tls/openssl/openssl-x509.c:1148,3'
          Dst:             BIO_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1151,9'
          Dst:             BIO_new_mem_buf
        - Src:             'lib/tls/openssl/openssl-x509.c:1152,17'
          Dst:             PEM_read_bio_PrivateKey
        - Src:             'lib/tls/openssl/openssl-x509.c:1153,3'
          Dst:             BIO_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1156,30'
          Dst:             X509_get_subject_name
        - Src:             'lib/tls/openssl/openssl-x509.c:1156,3'
          Dst:             X509_set_issuer_name
        - Src:             'lib/tls/openssl/openssl-x509.c:1158,3'
          Dst:             X509_set_issuer_name
        - Src:             'lib/tls/openssl/openssl-x509.c:1167,3'
          Dst:             X509V3_set_ctx
        - Src:             'lib/tls/openssl/openssl-x509.c:1170,4'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1171,4'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1173,4'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1174,4'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1176,5'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1178,5'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1181,3'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1184,4'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1186,4'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1190,17'
          Dst:             strspn
        - Src:             'lib/tls/openssl/openssl-x509.c:1190,53'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:1191,10'
          Dst:             strspn
        - Src:             'lib/tls/openssl/openssl-x509.c:1191,58'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:1191,87'
          Dst:             strchr
        - Src:             'lib/tls/openssl/openssl-x509.c:1192,4'
          Dst:             lws_snprintf
        - Src:             'lib/tls/openssl/openssl-x509.c:1193,4'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1199,36'
          Dst:             EVP_sha256
        - Src:             'lib/tls/openssl/openssl-x509.c:1199,7'
          Dst:             X509_sign
        - Src:             'lib/tls/openssl/openssl-x509.c:1205,6'
          Dst:             i2d_X509
        - Src:             'lib/tls/openssl/openssl-x509.c:1211,22'
          Dst:             i2d_X509
        - Src:             'lib/tls/openssl/openssl-x509.c:1214,6'
          Dst:             i2d_PrivateKey
        - Src:             'lib/tls/openssl/openssl-x509.c:1226,21'
          Dst:             i2d_PrivateKey
        - Src:             'lib/tls/openssl/openssl-x509.c:1231,42'
          Dst:             X509_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1232,42'
          Dst:             EVP_PKEY_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1233,12'
          Dst:             X509_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1234,12'
          Dst:             EVP_PKEY_free
    - functionName:    EVP_PKEY_new
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    OBJ_sn2nid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    OBJ_ln2nid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_PKEY_CTX_new_id
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_PKEY_keygen_init
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_PKEY_CTX_ctrl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_PKEY_keygen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_PKEY_CTX_free
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    RSA_pkey_ctx_ctrl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_new
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_set_version
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_get_serialNumber
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BN_new
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BN_pseudo_rand
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BN_to_ASN1_INTEGER
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BN_free
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_getm_notBefore
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_gmtime_adj
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_getm_notAfter
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_set_pubkey
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_get_subject_name
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_NAME_add_entry_by_txt
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BIO_new_mem_buf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PEM_read_bio_X509
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BIO_free
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PEM_read_bio_PrivateKey
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_set_issuer_name
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509V3_set_ctx
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_extension_helper
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1008
      functionLinenumberEnd: 1019
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - X509V3_EXT_conf_nid
        - X509_EXTENSION_free
        - X509_add_ext
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:1011,7'
          Dst:             X509V3_EXT_conf_nid
        - Src:             'lib/tls/openssl/openssl-x509.c:1015,2'
          Dst:             X509_add_ext
        - Src:             'lib/tls/openssl/openssl-x509.c:1016,2'
          Dst:             X509_EXTENSION_free
    - functionName:    strspn
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_sha256
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_sign
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i2d_X509
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i2d_PrivateKey
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_free
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_PKEY_free
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509V3_EXT_conf_nid
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_add_ext
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_EXTENSION_free
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_x509_destroy
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 987
      functionLinenumberEnd: 997
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:992,3'
          Dst:             X509_free
        - Src:             'lib/tls/openssl/openssl-x509.c:996,2'
          Dst:             lws_realloc
    - functionName:    lws_x509_verify
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 485
      functionLinenumberEnd: 512
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          93
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - X509_NAME_get_text_by_NID
        - X509_check_issued
        - X509_get_subject_name
        - _lws_log
        - lws_tls_err_describe_clear
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:490,25'
          Dst:             X509_get_subject_name
        - Src:             'lib/tls/openssl/openssl-x509.c:494,7'
          Dst:             X509_NAME_get_text_by_NID
        - Src:             'lib/tls/openssl/openssl-x509.c:497,7'
          Dst:             strcmp
        - Src:             'lib/tls/openssl/openssl-x509.c:498,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-x509.c:503,8'
          Dst:             X509_check_issued
        - Src:             'lib/tls/openssl/openssl-x509.c:505,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-x509.c:506,3'
          Dst:             lws_tls_err_describe_clear
    - functionName:    X509_NAME_get_text_by_NID
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_check_issued
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_x509_parse_from_pem
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 466
      functionLinenumberEnd: 480
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BIO_free
        - BIO_new
        - BIO_s_mem
        - BIO_write
        - PEM_read_bio_X509
        - _lws_log
        - lws_tls_err_describe_clear
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:467,21'
          Dst:             BIO_s_mem
        - Src:             'lib/tls/openssl/openssl-x509.c:467,13'
          Dst:             BIO_new
        - Src:             'lib/tls/openssl/openssl-x509.c:469,2'
          Dst:             BIO_write
        - Src:             'lib/tls/openssl/openssl-x509.c:470,15'
          Dst:             PEM_read_bio_X509
        - Src:             'lib/tls/openssl/openssl-x509.c:471,2'
          Dst:             BIO_free
        - Src:             'lib/tls/openssl/openssl-x509.c:473,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-x509.c:474,3'
          Dst:             lws_tls_err_describe_clear
    - functionName:    BIO_s_mem
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BIO_new
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BIO_write
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_x509_create
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 456
      functionLinenumberEnd: 461
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:457,10'
          Dst:             lws_realloc
    - functionName:    lws_tls_peer_cert_info
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 425
      functionLinenumberEnd: 451
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          75
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - SSL_get_peer_certificate
        - SSL_get_verify_result
        - X509_free
        - _lws_log
        - lws_get_network_wsi
        - lws_tls_openssl_cert_info
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/tls/openssl/openssl-x509.c:439,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:429,8'
          Dst:             lws_get_network_wsi
        - Src:             'lib/tls/openssl/openssl-x509.c:431,9'
          Dst:             SSL_get_peer_certificate
        - Src:             'lib/tls/openssl/openssl-x509.c:434,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-x509.c:441,19'
          Dst:             SSL_get_verify_result
        - Src:             'lib/tls/openssl/openssl-x509.c:445,8'
          Dst:             lws_tls_openssl_cert_info
        - Src:             'lib/tls/openssl/openssl-x509.c:448,2'
          Dst:             X509_free
    - functionName:    SSL_get_peer_certificate
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_get_verify_result
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_openssl_cert_info
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 395
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         137
      ICount:          929
      EdgeCount:       185
      CyclomaticComplexity: 50
      functionsReached:
        - ASN1_STRING_get0_data
        - ASN1_STRING_length
        - ASN1_get_object
        - AUTHORITY_KEYID_free
        - CRYPTO_free
        - CRYPTO_malloc
        - OPENSSL_sk_num
        - OPENSSL_sk_value
        - X509V3_EXT_d2i
        - X509V3_EXT_get
        - X509_EXTENSION_get_data
        - X509_NAME_oneline
        - X509_get_X509_PUBKEY
        - X509_get_ext
        - X509_get_ext_by_NID
        - X509_get_issuer_name
        - X509_get_key_usage
        - X509_get_subject_name
        - X509_getm_notAfter
        - X509_getm_notBefore
        - _lws_log
        - i2d_X509
        - i2d_X509_PUBKEY
        - i2v_GENERAL_NAMES
        - lws_tls_openssl_asn1time_to_unix
        - strchr
        - strlen
        - strstr
      functionUses:    4
      BranchProfiles:
        - Branch String:   'lib/tls/openssl/openssl-x509.c:121,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:124,6'
          Dst:             X509_getm_notBefore
        - Src:             'lib/tls/openssl/openssl-x509.c:123,15'
          Dst:             lws_tls_openssl_asn1time_to_unix
        - Src:             'lib/tls/openssl/openssl-x509.c:131,6'
          Dst:             X509_getm_notAfter
        - Src:             'lib/tls/openssl/openssl-x509.c:130,15'
          Dst:             lws_tls_openssl_asn1time_to_unix
        - Src:             'lib/tls/openssl/openssl-x509.c:140,8'
          Dst:             X509_get_subject_name
        - Src:             'lib/tls/openssl/openssl-x509.c:143,3'
          Dst:             X509_NAME_oneline
        - Src:             'lib/tls/openssl/openssl-x509.c:144,15'
          Dst:             strstr
        - Src:             'lib/tls/openssl/openssl-x509.c:147,17'
          Dst:             strchr
        - Src:             'lib/tls/openssl/openssl-x509.c:151,10'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:155,22'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:159,8'
          Dst:             X509_get_issuer_name
        - Src:             'lib/tls/openssl/openssl-x509.c:162,3'
          Dst:             X509_NAME_oneline
        - Src:             'lib/tls/openssl/openssl-x509.c:163,22'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:168,16'
          Dst:             X509_get_key_usage
        - Src:             'lib/tls/openssl/openssl-x509.c:177,47'
          Dst:             X509_get_X509_PUBKEY
        - Src:             'lib/tls/openssl/openssl-x509.c:177,31'
          Dst:             i2d_X509_PUBKEY
        - Src:             'lib/tls/openssl/openssl-x509.c:183,20'
          Dst:             CRYPTO_malloc
        - Src:             'lib/tls/openssl/openssl-x509.c:189,10'
          Dst:             X509_get_X509_PUBKEY
        - Src:             'lib/tls/openssl/openssl-x509.c:188,7'
          Dst:             i2d_X509_PUBKEY
        - Src:             'lib/tls/openssl/openssl-x509.c:191,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-x509.c:194,5'
          Dst:             CRYPTO_free
        - Src:             'lib/tls/openssl/openssl-x509.c:201,3'
          Dst:             CRYPTO_free
        - Src:             'lib/tls/openssl/openssl-x509.c:207,17'
          Dst:             i2d_X509
        - Src:             'lib/tls/openssl/openssl-x509.c:215,13'
          Dst:             i2d_X509
        - Src:             'lib/tls/openssl/openssl-x509.c:224,33'
          Dst:             X509_get_X509_PUBKEY
        - Src:             'lib/tls/openssl/openssl-x509.c:224,17'
          Dst:             i2d_X509_PUBKEY
        - Src:             'lib/tls/openssl/openssl-x509.c:232,29'
          Dst:             X509_get_X509_PUBKEY
        - Src:             'lib/tls/openssl/openssl-x509.c:232,13'
          Dst:             i2d_X509_PUBKEY
        - Src:             'lib/tls/openssl/openssl-x509.c:245,9'
          Dst:             X509_get_ext_by_NID
        - Src:             'lib/tls/openssl/openssl-x509.c:249,9'
          Dst:             X509_get_ext
        - Src:             'lib/tls/openssl/openssl-x509.c:253,29'
          Dst:             X509V3_EXT_d2i
        - Src:             'lib/tls/openssl/openssl-x509.c:260,8'
          Dst:             ASN1_STRING_get0_data
        - Src:             'lib/tls/openssl/openssl-x509.c:261,10'
          Dst:             ASN1_STRING_length
        - Src:             'lib/tls/openssl/openssl-x509.c:269,3'
          Dst:             AUTHORITY_KEYID_free
        - Src:             'lib/tls/openssl/openssl-x509.c:273,9'
          Dst:             X509_get_ext_by_NID
        - Src:             'lib/tls/openssl/openssl-x509.c:277,9'
          Dst:             X509_get_ext
        - Src:             'lib/tls/openssl/openssl-x509.c:282,29'
          Dst:             X509V3_EXT_d2i
        - Src:             'lib/tls/openssl/openssl-x509.c:291,38'
          Dst:             X509V3_EXT_get
        - Src:             'lib/tls/openssl/openssl-x509.c:299,9'
          Dst:             i2v_GENERAL_NAMES
        - Src:             'lib/tls/openssl/openssl-x509.c:303,27'
          Dst:             OPENSSL_sk_num
        - Src:             'lib/tls/openssl/openssl-x509.c:304,34'
          Dst:             OPENSSL_sk_value
        - Src:             'lib/tls/openssl/openssl-x509.c:305,41'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:306,35'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:325,3'
          Dst:             AUTHORITY_KEYID_free
        - Src:             'lib/tls/openssl/openssl-x509.c:330,9'
          Dst:             X509_get_ext_by_NID
        - Src:             'lib/tls/openssl/openssl-x509.c:334,9'
          Dst:             X509_get_ext
        - Src:             'lib/tls/openssl/openssl-x509.c:337,29'
          Dst:             X509V3_EXT_d2i
        - Src:             'lib/tls/openssl/openssl-x509.c:356,9'
          Dst:             X509_get_ext_by_NID
        - Src:             'lib/tls/openssl/openssl-x509.c:360,9'
          Dst:             X509_get_ext
        - Src:             'lib/tls/openssl/openssl-x509.c:364,10'
          Dst:             X509_EXTENSION_get_data
        - Src:             'lib/tls/openssl/openssl-x509.c:371,8'
          Dst:             ASN1_STRING_get0_data
        - Src:             'lib/tls/openssl/openssl-x509.c:374,24'
          Dst:             ASN1_STRING_length
        - Src:             'lib/tls/openssl/openssl-x509.c:373,7'
          Dst:             ASN1_get_object
        - Src:             'lib/tls/openssl/openssl-x509.c:378,4'
          Dst:             _lws_log
    - functionName:    lws_tls_openssl_asn1time_to_unix
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          166
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ASN1_STRING_get0_data
        - dec
        - mktime
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:51,32'
          Dst:             ASN1_STRING_get0_data
        - Src:             'lib/tls/openssl/openssl-x509.c:59,6'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:60,16'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:60,34'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:65,17'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:65,38'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:66,9'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:66,27'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:69,14'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:69,32'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:71,15'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:71,33'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:73,15'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:73,33'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:75,14'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:75,32'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:77,14'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:77,32'
          Dst:             dec
        - Src:             'lib/tls/openssl/openssl-x509.c:80,9'
          Dst:             mktime
    - functionName:    X509_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:    2
      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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i2d_X509_PUBKEY
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CRYPTO_malloc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CRYPTO_free
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_get_ext_by_NID
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_get_ext
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509V3_EXT_d2i
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ASN1_STRING_get0_data
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ASN1_STRING_length
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    AUTHORITY_KEYID_free
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509V3_EXT_get
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    i2v_GENERAL_NAMES
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    OPENSSL_sk_num
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    OPENSSL_sk_value
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_EXTENSION_get_data
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ASN1_get_object
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mktime
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_vhost_cert_info
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 408
      functionLinenumberEnd: 412
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SSL_CTX_get0_certificate
        - lws_tls_openssl_cert_info
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:410,15'
          Dst:             SSL_CTX_get0_certificate
        - Src:             'lib/tls/openssl/openssl-x509.c:412,9'
          Dst:             lws_tls_openssl_cert_info
    - functionName:    SSL_CTX_get0_certificate
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_x509_info
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 400
      functionLinenumberEnd: 401
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_tls_openssl_cert_info
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-x509.c:401,9'
          Dst:             lws_tls_openssl_cert_info
    - functionName:    lws_tls_vhost_backend_free_ctx
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 672
      functionLinenumberEnd: 675
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          26
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - SSL_CTX_free
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:674,3'
          Dst:             SSL_CTX_free
    - functionName:    SSL_CTX_free
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    tops_process_cleanup_openssl
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 659
      functionLinenumberEnd: 663
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - OPENSSL_cleanup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:661,2'
          Dst:             OPENSSL_cleanup
    - functionName:    OPENSSL_cleanup
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    tops_fake_POLLIN_for_buffered_openssl
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 653
      functionLinenumberEnd: 654
      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:654,9'
          Dst:             lws_tls_fake_POLLIN_for_buffered
    - functionName:    __lws_tls_shutdown
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 609
      functionLinenumberEnd: 648
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          116
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - ERR_clear_error
        - SSL_get_error
        - SSL_shutdown
        - SSL_want
        - __errno_location
        - __lws_change_pollfd
        - _lws_log
        - shutdown
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/tls/openssl/openssl-ssl.c:620,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:613,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-ssl.c:617,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-ssl.c:618,6'
          Dst:             SSL_shutdown
        - Src:             'lib/tls/openssl/openssl-ssl.c:619,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:622,7'
          Dst:             shutdown
        - Src:             'lib/tls/openssl/openssl-ssl.c:626,3'
          Dst:             __lws_change_pollfd
        - Src:             'lib/tls/openssl/openssl-ssl.c:630,7'
          Dst:             SSL_get_error
        - Src:             'lib/tls/openssl/openssl-ssl.c:632,8'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-ssl.c:633,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:634,5'
          Dst:             __lws_change_pollfd
        - Src:             'lib/tls/openssl/openssl-ssl.c:637,8'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-ssl.c:638,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:639,5'
          Dst:             __lws_change_pollfd
        - Src:             'lib/tls/openssl/openssl-ssl.c:642,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:643,4'
          Dst:             __lws_change_pollfd
    - functionName:    ERR_clear_error
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_shutdown
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_get_error
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_want
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_ctx_from_wsi
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 600
      functionLinenumberEnd: 605
      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:604,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: 572
      functionLinenumberEnd: 596
      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: 557
      functionLinenumberEnd: 568
      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:559,3'
          Dst:             SSL_CTX_free
        - Src:             'lib/tls/openssl/openssl-ssl.c:562,2'
          Dst:             lws_ssl_destroy_client_ctx
    - functionName:    lws_ssl_destroy_client_ctx
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          112
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - SSL_CTX_free
        - lws_dll2_remove
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:163,2'
          Dst:             SSL_CTX_free
        - Src:             'lib/tls/openssl/openssl-ssl.c:169,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/tls/openssl/openssl-ssl.c:170,3'
          Dst:             lws_realloc
    - functionName:    lws_ssl_close
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 501
      functionLinenumberEnd: 553
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          182
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - SSL_free
        - SSL_get_fd
        - SSL_set_info_callback
        - SSL_shutdown
        - close
        - lws_realloc
        - lws_tls_ctx_ref_unref
        - lws_tls_restrict_return
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:512,3'
          Dst:             SSL_set_info_callback
        - Src:             'lib/tls/openssl/openssl-ssl.c:524,6'
          Dst:             SSL_get_fd
        - Src:             'lib/tls/openssl/openssl-ssl.c:526,3'
          Dst:             SSL_shutdown
        - Src:             'lib/tls/openssl/openssl-ssl.c:528,3'
          Dst:             close
        - Src:             'lib/tls/openssl/openssl-ssl.c:529,2'
          Dst:             SSL_free
        - Src:             'lib/tls/openssl/openssl-ssl.c:533,3'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-ssl.c:537,3'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-ssl.c:541,2'
          Dst:             lws_tls_restrict_return
        - Src:             'lib/tls/openssl/openssl-ssl.c:548,3'
          Dst:             lws_tls_ctx_ref_unref
    - functionName:    SSL_set_info_callback
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_get_fd
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_free
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ssl_info_callback
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 460
      functionLinenumberEnd: 496
      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:468,6'
          Dst:             SSL_get_SSL_CTX
        - Src:             'lib/tls/openssl/openssl-ssl.c:467,34'
          Dst:             SSL_CTX_get_ex_data
        - Src:             'lib/tls/openssl/openssl-ssl.c:478,7'
          Dst:             SSL_get_fd
        - Src:             'lib/tls/openssl/openssl-ssl.c:482,8'
          Dst:             wsi_from_fd
        - Src:             'lib/tls/openssl/openssl-ssl.c:492,6'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/tls/openssl/openssl-ssl.c:495,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: 383
      functionLinenumberEnd: 455
      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:401,10'
          Dst:             lws_ssl_capable_write_no_ssl
        - Src:             'lib/tls/openssl/openssl-ssl.c:403,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-ssl.c:404,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-ssl.c:415,6'
          Dst:             SSL_write
        - Src:             'lib/tls/openssl/openssl-ssl.c:426,6'
          Dst:             lws_ssl_get_error
        - Src:             'lib/tls/openssl/openssl-ssl.c:428,35'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-ssl.c:429,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:434,36'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-ssl.c:437,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:443,2'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-ssl.c:443,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:444,2'
          Dst:             lws_tls_err_describe_clear
    - functionName:    SSL_write
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ssl_get_error
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          98
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - ERR_error_string_n
        - ERR_get_error
        - SSL_get_error
        - __errno_location
        - _lws_log
        - lws_strncpy
        - lws_tls_err_describe_clear
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:60,6'
          Dst:             SSL_get_error
        - Src:             'lib/tls/openssl/openssl-ssl.c:61,8'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-ssl.c:61,8'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:65,8'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-ssl.c:67,5'
          Dst:             ERR_error_string_n
        - Src:             'lib/tls/openssl/openssl-ssl.c:69,5'
          Dst:             lws_strncpy
        - Src:             'lib/tls/openssl/openssl-ssl.c:75,3'
          Dst:             lws_tls_err_describe_clear
    - functionName:    ERR_error_string
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ssl_pending
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 374
      functionLinenumberEnd: 379
      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:378,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: 217
      functionLinenumberEnd: 370
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          262
      EdgeCount:       49
      CyclomaticComplexity: 15
      functionsReached:
        - ERR_clear_error
        - SSL_pending
        - SSL_read
        - SSL_want
        - __errno_location
        - __lws_change_pollfd
        - __lws_ssl_remove_wsi_from_buffered_list
        - _lws_log
        - lws_callback_on_writable
        - lws_dll2_add_head
        - lws_dll2_is_detached
        - lws_ssl_capable_read_no_ssl
        - lws_ssl_get_error
        - lws_ssl_remove_wsi_from_buffered_list
        - lws_tls_err_describe_clear
        - lws_wsi_tag
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:223,10'
          Dst:             lws_ssl_capable_read_no_ssl
        - Src:             'lib/tls/openssl/openssl-ssl.c:226,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-ssl.c:230,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-ssl.c:235,6'
          Dst:             SSL_read
        - Src:             'lib/tls/openssl/openssl-ssl.c:252,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/tls/openssl/openssl-ssl.c:252,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:278,7'
          Dst:             lws_ssl_get_error
        - Src:             'lib/tls/openssl/openssl-ssl.c:279,16'
          Dst:             lws_wsi_tag
        - Src:             'lib/tls/openssl/openssl-ssl.c:279,16'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-ssl.c:279,16'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:286,25'
          Dst:             __lws_ssl_remove_wsi_from_buffered_list
        - Src:             'lib/tls/openssl/openssl-ssl.c:292,7'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-ssl.c:297,9'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-ssl.c:308,3'
          Dst:             __lws_ssl_remove_wsi_from_buffered_list
        - Src:             'lib/tls/openssl/openssl-ssl.c:315,7'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-ssl.c:316,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:317,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/tls/openssl/openssl-ssl.c:317,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:320,7'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-ssl.c:321,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:322,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/tls/openssl/openssl-ssl.c:322,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-ssl.c:324,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/tls/openssl/openssl-ssl.c:325,4'
          Dst:             __lws_change_pollfd
        - Src:             'lib/tls/openssl/openssl-ssl.c:358,6'
          Dst:             SSL_pending
        - Src:             'lib/tls/openssl/openssl-ssl.c:359,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/tls/openssl/openssl-ssl.c:360,4'
          Dst:             lws_dll2_add_head
        - Src:             'lib/tls/openssl/openssl-ssl.c:363,3'
          Dst:             __lws_ssl_remove_wsi_from_buffered_list
        - Src:             'lib/tls/openssl/openssl-ssl.c:367,2'
          Dst:             lws_ssl_remove_wsi_from_buffered_list
    - functionName:    SSL_read
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ssl_destroy
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - SSL_CTX_free
        - lws_ssl_destroy_client_ctx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:183,3'
          Dst:             SSL_CTX_free
        - Src:             'lib/tls/openssl/openssl-ssl.c:185,2'
          Dst:             lws_ssl_destroy_client_ctx
    - functionName:    lws_context_init_ssl_pem_passwd_cb
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          38
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - strlen
        - strncpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:91,2'
          Dst:             strncpy
        - Src:             'lib/tls/openssl/openssl-ssl.c:94,14'
          Dst:             strlen
    - functionName:    lws_context_init_ssl_pem_passwd_client_cb
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          58
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strlen
        - strncpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:110,2'
          Dst:             strncpy
        - Src:             'lib/tls/openssl/openssl-ssl.c:113,14'
          Dst:             strlen
    - functionName:    lws_ssl_bind_passphrase
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          50
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - SSL_CTX_set_default_passwd_cb
        - SSL_CTX_set_default_passwd_cb_userdata
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:138,2'
          Dst:             SSL_CTX_set_default_passwd_cb_userdata
        - Src:             'lib/tls/openssl/openssl-ssl.c:139,2'
          Dst:             SSL_CTX_set_default_passwd_cb
    - functionName:    SSL_CTX_set_default_passwd_cb_userdata
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_set_default_passwd_cb
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_openssl_describe_cipher
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-ssl.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SSL_CIPHER_get_bits
        - SSL_CIPHER_get_name
        - SSL_CIPHER_get_version
        - SSL_get_current_cipher
        - _lws_log
        - lws_wsi_tag
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-ssl.c:42,2'
          Dst:             SSL_get_current_cipher
        - Src:             'lib/tls/openssl/openssl-ssl.c:42,2'
          Dst:             SSL_CIPHER_get_bits
        - Src:             'lib/tls/openssl/openssl-ssl.c:43,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/tls/openssl/openssl-ssl.c:43,2'
          Dst:             SSL_get_current_cipher
        - Src:             'lib/tls/openssl/openssl-ssl.c:43,2'
          Dst:             SSL_CIPHER_get_name
        - Src:             'lib/tls/openssl/openssl-ssl.c:43,2'
          Dst:             SSL_get_current_cipher
        - Src:             'lib/tls/openssl/openssl-ssl.c:43,2'
          Dst:             SSL_CIPHER_get_name
        - Src:             'lib/tls/openssl/openssl-ssl.c:43,2'
          Dst:             SSL_get_current_cipher
        - Src:             'lib/tls/openssl/openssl-ssl.c:43,2'
          Dst:             SSL_CIPHER_get_version
        - Src:             'lib/tls/openssl/openssl-ssl.c:43,2'
          Dst:             _lws_log
    - functionName:    SSL_get_current_cipher
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CIPHER_get_bits
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CIPHER_get_name
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CIPHER_get_version
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_session_expiry_cb
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 176
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_tls_session_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:173,2'
          Dst:             __lws_tls_session_destroy
    - functionName:    __lws_tls_session_destroy
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          35
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SSL_SESSION_free
        - _lws_log
        - lws_dll2_remove
        - lws_realloc
        - lws_sul_cancel
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:46,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:49,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/tls/openssl/openssl-session.c:50,2'
          Dst:             SSL_SESSION_free
        - Src:             'lib/tls/openssl/openssl-session.c:51,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/tls/openssl/openssl-session.c:53,2'
          Dst:             lws_realloc
    - functionName:    SSL_SESSION_free
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_session_add_entry
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 214
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          106
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - __lws_tls_session_destroy
        - _lws_log
        - lws_dll2_add_tail
        - lws_realloc
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:182,14'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-session.c:195,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:198,4'
          Dst:             __lws_tls_session_destroy
        - Src:             'lib/tls/openssl/openssl-session.c:203,7'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-session.c:211,2'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_tls_session_dump_load
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 428
      functionLinenumberEnd: 498
      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:438,2'
          Dst:             lws_tls_session_tag_discrete
        - Src:             'lib/tls/openssl/openssl-session.c:443,7'
          Dst:             __lws_tls_session_lookup_by_name
        - Src:             'lib/tls/openssl/openssl-session.c:450,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:456,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:465,9'
          Dst:             d2i_SSL_SESSION
        - Src:             'lib/tls/openssl/openssl-session.c:469,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:474,7'
          Dst:             lws_tls_session_add_entry
        - Src:             'lib/tls/openssl/openssl-session.c:478,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:483,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:491,2'
          Dst:             SSL_SESSION_free
    - functionName:    __lws_tls_session_lookup_by_name
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          60
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - lws_dll2_get_head
        - strcmp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:59,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/tls/openssl/openssl-session.c:64,8'
          Dst:             strcmp
    - functionName:    d2i_SSL_SESSION
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_session_dump_save
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 376
      functionLinenumberEnd: 423
      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:385,2'
          Dst:             lws_tls_session_tag_discrete
        - Src:             'lib/tls/openssl/openssl-session.c:390,7'
          Dst:             __lws_tls_session_lookup_by_name
        - Src:             'lib/tls/openssl/openssl-session.c:396,7'
          Dst:             i2d_SSL_SESSION
        - Src:             'lib/tls/openssl/openssl-session.c:401,15'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-session.c:406,3'
          Dst:             i2d_SSL_SESSION
        - Src:             'lib/tls/openssl/openssl-session.c:411,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:415,3'
          Dst:             lws_realloc
    - functionName:    i2d_SSL_SESSION
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_session_new_cb
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 218
      functionLinenumberEnd: 305
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          170
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - SSL_SESSION_free
        - SSL_SESSION_get_timeout
        - SSL_get_ex_data
        - __lws_tls_session_lookup_by_name
        - _lws_log
        - lws_dll2_add_tail
        - lws_dll2_remove
        - lws_sul_schedule
        - lws_tls_session_add_entry
        - lws_tls_session_expiry_cb
        - lws_tls_session_tag_from_wsi
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:219,34'
          Dst:             SSL_get_ex_data
        - Src:             'lib/tls/openssl/openssl-session.c:230,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:240,6'
          Dst:             lws_tls_session_tag_from_wsi
        - Src:             'lib/tls/openssl/openssl-session.c:245,8'
          Dst:             SSL_SESSION_get_timeout
        - Src:             'lib/tls/openssl/openssl-session.c:250,7'
          Dst:             __lws_tls_session_lookup_by_name
        - Src:             'lib/tls/openssl/openssl-session.c:253,8'
          Dst:             lws_tls_session_add_entry
        - Src:             'lib/tls/openssl/openssl-session.c:258,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/tls/openssl/openssl-session.c:258,3'
          Dst:             lws_tls_session_expiry_cb
        - Src:             'lib/tls/openssl/openssl-session.c:276,3'
          Dst:             SSL_SESSION_free
        - Src:             'lib/tls/openssl/openssl-session.c:280,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/tls/openssl/openssl-session.c:281,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/tls/openssl/openssl-session.c:289,2'
          Dst:             _lws_log
    - functionName:    SSL_SESSION_get_timeout
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_session_cache
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 350
      functionLinenumberEnd: 371
      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:356,10'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-session.c:358,2'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-session.c:361,2'
          Dst:             SSL_CTX_sess_set_new_cb
        - Src:             'lib/tls/openssl/openssl-session.c:361,2'
          Dst:             lws_tls_session_new_cb
        - Src:             'lib/tls/openssl/openssl-session.c:369,2'
          Dst:             SSL_CTX_set_timeout
    - functionName:    SSL_CTX_ctrl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_sess_set_new_cb
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_set_timeout
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_session_destroy_dll
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_tls_session_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:152,2'
          Dst:             __lws_tls_session_destroy
    - functionName:    lws_tls_session_vh_destroy
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_foreach_safe
        - lws_tls_session_destroy_dll
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:160,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/tls/openssl/openssl-session.c:160,2'
          Dst:             lws_tls_session_destroy_dll
    - functionName:    lws_tls_session_is_reused
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - SSL_session_reused
        - lws_get_network_wsi
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:136,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/tls/openssl/openssl-session.c:141,20'
          Dst:             SSL_session_reused
    - functionName:    SSL_session_reused
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_reuse_session
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          136
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - SSL_SESSION_set_time
        - SSL_set_session
        - __lws_tls_session_lookup_by_name
        - _lws_log
        - lws_dll2_add_tail
        - lws_dll2_remove
        - lws_tls_session_tag_from_wsi
        - time
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:89,6'
          Dst:             lws_tls_session_tag_from_wsi
        - Src:             'lib/tls/openssl/openssl-session.c:91,7'
          Dst:             __lws_tls_session_lookup_by_name
        - Src:             'lib/tls/openssl/openssl-session.c:94,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:98,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:100,7'
          Dst:             SSL_set_session
        - Src:             'lib/tls/openssl/openssl-session.c:101,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:113,4'
          Dst:             time
        - Src:             'lib/tls/openssl/openssl-session.c:107,2'
          Dst:             SSL_SESSION_set_time
        - Src:             'lib/tls/openssl/openssl-session.c:118,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/tls/openssl/openssl-session.c:119,2'
          Dst:             lws_dll2_add_tail
    - functionName:    SSL_set_session
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_SESSION_set_time
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_genhmac_destroy
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/lws-genhash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 178
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          53
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - EVP_DigestSignFinal
        - EVP_MD_CTX_free
        - EVP_PKEY_free
        - lws_genhmac_size
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/lws-genhash.c:167,24'
          Dst:             lws_genhmac_size
        - Src:             'lib/tls/openssl/lws-genhash.c:170,6'
          Dst:             EVP_DigestSignFinal
        - Src:             'lib/tls/openssl/lws-genhash.c:171,2'
          Dst:             EVP_MD_CTX_free
        - Src:             'lib/tls/openssl/lws-genhash.c:172,2'
          Dst:             EVP_PKEY_free
    - functionName:    EVP_DigestSignFinal
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_MD_CTX_free
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_genhmac_update
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/lws-genhash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - EVP_DigestUpdate
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/lws-genhash.c:157,6'
          Dst:             EVP_DigestUpdate
    - functionName:    EVP_DigestUpdate
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_genhmac_init
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/lws-genhash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 107
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          133
      EdgeCount:       20
      CyclomaticComplexity: 4
      functionsReached:
        - EVP_DigestSignInit
        - EVP_MD_CTX_free
        - EVP_MD_CTX_new
        - EVP_PKEY_free
        - EVP_PKEY_new_raw_private_key
        - EVP_sha1
        - EVP_sha256
        - EVP_sha384
        - EVP_sha512
        - _lws_log
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/tls/openssl/lws-genhash.c:115,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/openssl/lws-genhash.c:108,13'
          Dst:             EVP_MD_CTX_new
        - Src:             'lib/tls/openssl/lws-genhash.c:117,19'
          Dst:             EVP_sha1
        - Src:             'lib/tls/openssl/lws-genhash.c:120,19'
          Dst:             EVP_sha256
        - Src:             'lib/tls/openssl/lws-genhash.c:123,19'
          Dst:             EVP_sha384
        - Src:             'lib/tls/openssl/lws-genhash.c:126,19'
          Dst:             EVP_sha512
        - Src:             'lib/tls/openssl/lws-genhash.c:129,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/lws-genhash.c:133,13'
          Dst:             EVP_PKEY_new_raw_private_key
        - Src:             'lib/tls/openssl/lws-genhash.c:137,6'
          Dst:             EVP_DigestSignInit
        - Src:             'lib/tls/openssl/lws-genhash.c:143,2'
          Dst:             EVP_PKEY_free
        - Src:             'lib/tls/openssl/lws-genhash.c:145,2'
          Dst:             EVP_MD_CTX_free
    - functionName:    EVP_MD_CTX_new
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_sha1
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_sha384
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_sha512
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_PKEY_new_raw_private_key
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_DigestSignInit
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_genhash_destroy
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/lws-genhash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          61
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - EVP_DigestFinal_ex
        - EVP_MD_CTX_free
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/lws-genhash.c:92,9'
          Dst:             EVP_DigestFinal_ex
        - Src:             'lib/tls/openssl/lws-genhash.c:96,2'
          Dst:             EVP_MD_CTX_free
    - functionName:    EVP_DigestFinal_ex
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_genhash_update
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/lws-genhash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - EVP_DigestUpdate
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/lws-genhash.c:79,9'
          Dst:             EVP_DigestUpdate
    - functionName:    lws_genhash_init
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/lws-genhash.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          112
      EdgeCount:       16
      CyclomaticComplexity: 3
      functionsReached:
        - EVP_DigestInit_ex
        - EVP_MD_CTX_free
        - EVP_MD_CTX_new
        - EVP_md5
        - EVP_sha1
        - EVP_sha256
        - EVP_sha384
        - EVP_sha512
      functionUses:    4
      BranchProfiles:
        - Branch String:   'lib/tls/openssl/lws-genhash.c:44,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/openssl/lws-genhash.c:40,15'
          Dst:             EVP_MD_CTX_new
        - Src:             'lib/tls/openssl/lws-genhash.c:46,19'
          Dst:             EVP_md5
        - Src:             'lib/tls/openssl/lws-genhash.c:49,19'
          Dst:             EVP_sha1
        - Src:             'lib/tls/openssl/lws-genhash.c:52,19'
          Dst:             EVP_sha256
        - Src:             'lib/tls/openssl/lws-genhash.c:55,19'
          Dst:             EVP_sha384
        - Src:             'lib/tls/openssl/lws-genhash.c:58,19'
          Dst:             EVP_sha512
        - Src:             'lib/tls/openssl/lws-genhash.c:64,6'
          Dst:             EVP_DigestInit_ex
        - Src:             'lib/tls/openssl/lws-genhash.c:65,3'
          Dst:             EVP_MD_CTX_free
    - functionName:    EVP_md5
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_DigestInit_ex
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_server_socket_service_ssl
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 491
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         73
      ICount:          453
      EdgeCount:       98
      CyclomaticComplexity: 27
      functionsReached:
        - __assert_fail
        - __errno_location
        - __insert_wsi_socket_into_fds
        - _lws_log
        - close
        - lws_change_pollfd
        - lws_get_peer_simple
        - lws_http_to_fallback
        - lws_set_timeout
        - lws_tls_restrict_borrow
        - lws_tls_restrict_return
        - lws_tls_server_abort_connection
        - lws_tls_server_accept
        - lws_tls_server_accept_completed
        - lws_tls_server_new_nonblocking
        - lwsi_set_state
        - lwsl_hexdump_level
        - recv
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib/tls/tls-server.c:203,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/tls-server.c:207,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:209,4'
          Dst:             __assert_fail
        - Src:             'lib/tls/tls-server.c:211,7'
          Dst:             lws_tls_restrict_borrow
        - Src:             'lib/tls/tls-server.c:212,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:220,7'
          Dst:             lws_tls_server_new_nonblocking
        - Src:             'lib/tls/tls-server.c:221,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:223,5'
          Dst:             close
        - Src:             'lib/tls/tls-server.c:224,4'
          Dst:             lws_tls_restrict_return
        - Src:             'lib/tls/tls-server.c:241,3'
          Dst:             lwsi_set_state
        - Src:             'lib/tls/tls-server.c:244,7'
          Dst:             __insert_wsi_socket_into_fds
        - Src:             'lib/tls/tls-server.c:245,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:250,3'
          Dst:             lws_set_timeout
        - Src:             'lib/tls/tls-server.c:253,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:261,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/tls/tls-server.c:262,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:272,8'
          Dst:             recv
        - Src:             'lib/tls/tls-server.c:312,5'
          Dst:             lws_tls_server_abort_connection
        - Src:             'lib/tls/tls-server.c:321,6'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:329,6'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:337,10'
          Dst:             lws_http_to_fallback
        - Src:             'lib/tls/tls-server.c:339,6'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:346,5'
          Dst:             lws_get_peer_simple
        - Src:             'lib/tls/tls-server.c:347,5'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:350,5'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/tls/tls-server.c:360,5'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:369,10'
          Dst:             lws_change_pollfd
        - Src:             'lib/tls/tls-server.c:370,7'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:375,6'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:385,18'
          Dst:             __errno_location
        - Src:             'lib/tls/tls-server.c:386,11'
          Dst:             __errno_location
        - Src:             'lib/tls/tls-server.c:395,9'
          Dst:             lws_change_pollfd
        - Src:             'lib/tls/tls-server.c:396,6'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:401,5'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:456,3'
          Dst:             __errno_location
        - Src:             'lib/tls/tls-server.c:460,7'
          Dst:             lws_tls_server_accept
        - Src:             'lib/tls/tls-server.c:470,7'
          Dst:             lws_tls_server_accept_completed
        - Src:             'lib/tls/tls-server.c:485,2'
          Dst:             lwsi_set_state
    - functionName:    lws_tls_server_accept_completed
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 133
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         31
      ICount:          188
      EdgeCount:       39
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log
        - lws_change_pollfd
        - lws_set_timeout
        - lws_tls_ctx_from_wsi
        - lws_tls_restrict_return_handshake
        - lws_tls_server_conn_alpn
        - lws_vhost_bind_wsi
        - lwsi_set_state
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/tls/tls-server.c:138,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/tls-server.c:137,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:140,3'
          Dst:             lws_tls_restrict_return_handshake
        - Src:             'lib/tls/tls-server.c:143,3'
          Dst:             lws_tls_restrict_return_handshake
        - Src:             'lib/tls/tls-server.c:144,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:152,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/tls/tls-server.c:155,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/tls/tls-server.c:158,3'
          Dst:             lwsi_set_state
        - Src:             'lib/tls/tls-server.c:166,26'
          Dst:             lws_tls_ctx_from_wsi
        - Src:             'lib/tls/tls-server.c:167,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:168,4'
          Dst:             lws_vhost_bind_wsi
        - Src:             'lib/tls/tls-server.c:175,2'
          Dst:             lws_set_timeout
        - Src:             'lib/tls/tls-server.c:178,2'
          Dst:             lwsi_set_state
        - Src:             'lib/tls/tls-server.c:179,6'
          Dst:             lws_tls_server_conn_alpn
        - Src:             'lib/tls/tls-server.c:180,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:183,2'
          Dst:             _lws_log
    - functionName:    lws_sul_tls_cb
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_sul_insert
        - lws_now_usecs
        - lws_tls_check_all_cert_lifetimes
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-server.c:35,2'
          Dst:             lws_tls_check_all_cert_lifetimes
        - Src:             'lib/tls/tls-server.c:37,2'
          Dst:             lws_now_usecs
        - Src:             'lib/tls/tls-server.c:37,2'
          Dst:             __lws_sul_insert
    - functionName:    lws_context_init_server_ssl
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         38
      ICount:          298
      EdgeCount:       51
      CyclomaticComplexity: 15
      functionsReached:
        - __lws_sul_insert
        - _lws_log
        - lws_context_init_alpn
        - lws_now_usecs
        - lws_tls_ctx_ref_create
        - lws_tls_server_client_cert_verify_config
        - lws_tls_server_vhost_backend_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-server.c:75,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:78,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-server.c:102,7'
          Dst:             lws_tls_server_vhost_backend_init
        - Src:             'lib/tls/tls-server.c:106,32'
          Dst:             lws_tls_ctx_ref_create
        - Src:             'lib/tls/tls-server.c:108,3'
          Dst:             lws_tls_server_client_cert_verify_config
        - Src:             'lib/tls/tls-server.c:117,3'
          Dst:             lws_context_init_alpn
        - Src:             'lib/tls/tls-server.c:122,2'
          Dst:             lws_now_usecs
        - Src:             'lib/tls/tls-server.c:122,2'
          Dst:             __lws_sul_insert
    - functionName:    lws_tls_server_accept
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 789
      functionLinenumberEnd: 864
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         45
      ICount:          267
      EdgeCount:       61
      CyclomaticComplexity: 18
      functionsReached:
        - ERR_clear_error
        - SSL_accept
        - SSL_pending
        - SSL_want
        - __errno_location
        - _lws_log
        - lws_change_pollfd
        - lws_dll2_add_head
        - lws_dll2_is_detached
        - lws_openssl_describe_cipher
        - lws_ssl_get_error
        - lws_tls_err_describe_clear
        - lws_tls_peer_cert_info
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-server.c:794,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-server.c:795,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-server.c:801,6'
          Dst:             SSL_accept
        - Src:             'lib/tls/openssl/openssl-server.c:814,7'
          Dst:             lws_tls_peer_cert_info
        - Src:             'lib/tls/openssl/openssl-server.c:817,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:820,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:822,3'
          Dst:             lws_openssl_describe_cipher
        - Src:             'lib/tls/openssl/openssl-server.c:824,7'
          Dst:             SSL_pending
        - Src:             'lib/tls/openssl/openssl-server.c:825,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/tls/openssl/openssl-server.c:827,5'
          Dst:             lws_dll2_add_head
        - Src:             'lib/tls/openssl/openssl-server.c:835,6'
          Dst:             lws_ssl_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:836,2'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-server.c:842,37'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-server.c:843,37'
          Dst:             lws_change_pollfd
        - Src:             'lib/tls/openssl/openssl-server.c:844,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:849,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:852,35'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-server.c:853,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:855,37'
          Dst:             lws_change_pollfd
        - Src:             'lib/tls/openssl/openssl-server.c:856,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: 778
      functionLinenumberEnd: 783
      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:780,3'
          Dst:             SSL_shutdown
        - Src:             'lib/tls/openssl/openssl-server.c:781,2'
          Dst:             SSL_free
    - functionName:    lws_tls_server_new_nonblocking
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 726
      functionLinenumberEnd: 774
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          165
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - BIO_ctrl
        - ERR_clear_error
        - SSL_ctrl
        - SSL_get_rbio
        - SSL_get_wbio
        - SSL_new
        - SSL_set_ex_data
        - SSL_set_fd
        - SSL_set_info_callback
        - __errno_location
        - _lws_log
        - lws_ssl_get_error
        - lws_ssl_info_callback
        - lws_tls_ctx_ref_get
        - lws_tls_err_describe_clear
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-server.c:731,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-server.c:732,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-server.c:733,21'
          Dst:             lws_tls_ctx_ref_get
        - Src:             'lib/tls/openssl/openssl-server.c:734,17'
          Dst:             SSL_new
        - Src:             'lib/tls/openssl/openssl-server.c:736,3'
          Dst:             lws_ssl_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:736,3'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-server.c:736,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:739,3'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-server.c:743,2'
          Dst:             SSL_set_ex_data
        - Src:             'lib/tls/openssl/openssl-server.c:744,2'
          Dst:             SSL_set_fd
        - Src:             'lib/tls/openssl/openssl-server.c:754,2'
          Dst:             SSL_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:756,8'
          Dst:             SSL_get_rbio
        - Src:             'lib/tls/openssl/openssl-server.c:758,3'
          Dst:             BIO_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:760,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:761,8'
          Dst:             SSL_get_wbio
        - Src:             'lib/tls/openssl/openssl-server.c:763,3'
          Dst:             BIO_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:765,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:770,4'
          Dst:             SSL_set_info_callback
        - Src:             'lib/tls/openssl/openssl-server.c:770,4'
          Dst:             lws_ssl_info_callback
    - functionName:    SSL_new
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_set_ex_data
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_set_fd
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_ctrl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_get_rbio
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BIO_ctrl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_get_wbio
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_server_vhost_backend_init
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 684
      functionLinenumberEnd: 722
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          162
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - SSL_CTX_free
        - _lws_log
        - lws_ssl_bind_passphrase
        - lws_tls_generic_cert_checks
        - lws_tls_server_certs_load
        - lws_tls_vhost_backend_create_ctx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-server.c:687,6'
          Dst:             lws_tls_vhost_backend_create_ctx
        - Src:             'lib/tls/openssl/openssl-server.c:694,11'
          Dst:             lws_tls_generic_cert_checks
        - Src:             'lib/tls/openssl/openssl-server.c:699,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:700,3'
          Dst:             SSL_CTX_free
        - Src:             'lib/tls/openssl/openssl-server.c:705,2'
          Dst:             lws_ssl_bind_passphrase
        - Src:             'lib/tls/openssl/openssl-server.c:707,6'
          Dst:             lws_tls_server_certs_load
    - functionName:    lws_tls_vhost_backend_create_ctx
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 516
      functionLinenumberEnd: 679
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         64
      ICount:          461
      EdgeCount:       85
      CyclomaticComplexity: 23
      functionsReached:
        - ERR_error_string
        - ERR_get_error
        - ERR_peek_error
        - SSL_CTX_callback_ctrl
        - SSL_CTX_clear_options
        - SSL_CTX_ctrl
        - SSL_CTX_get_options
        - SSL_CTX_load_verify_locations
        - SSL_CTX_new
        - SSL_CTX_set_cert_store
        - SSL_CTX_set_cipher_list
        - SSL_CTX_set_ciphersuites
        - SSL_CTX_set_client_CA_list
        - SSL_CTX_set_ex_data
        - SSL_CTX_set_keylog_callback
        - SSL_CTX_set_options
        - SSL_load_client_CA_file
        - TLS_server_method
        - X509_NAME_dup
        - X509_STORE_add_cert
        - X509_STORE_free
        - X509_STORE_new
        - X509_free
        - X509_get_subject_name
        - _lws_log
        - d2i_X509
        - lws_klog_dump
        - lws_realloc
        - lws_ssl_server_name_cb
        - lws_strdup
        - lws_tls_alloc_pem_to_der_file
        - sk_X509_NAME_new_null
        - sk_X509_NAME_num
        - sk_X509_NAME_push
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-server.c:518,37'
          Dst:             TLS_server_method
        - Src:             'lib/tls/openssl/openssl-server.c:524,11'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-server.c:525,24'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:525,7'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-server.c:527,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:531,17'
          Dst:             SSL_CTX_new
        - Src:             'lib/tls/openssl/openssl-server.c:536,11'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-server.c:537,24'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:537,7'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-server.c:538,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:545,2'
          Dst:             SSL_CTX_set_keylog_callback
        - Src:             'lib/tls/openssl/openssl-server.c:545,2'
          Dst:             lws_klog_dump
        - Src:             'lib/tls/openssl/openssl-server.c:548,2'
          Dst:             SSL_CTX_set_ex_data
        - Src:             'lib/tls/openssl/openssl-server.c:552,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-server.c:555,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-server.c:565,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-server.c:566,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-server.c:569,13'
          Dst:             lws_strdup
        - Src:             'lib/tls/openssl/openssl-server.c:577,4'
          Dst:             SSL_CTX_set_cipher_list
        - Src:             'lib/tls/openssl/openssl-server.c:579,4'
          Dst:             SSL_CTX_set_ciphersuites
        - Src:             'lib/tls/openssl/openssl-server.c:581,4'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-server.c:584,3'
          Dst:             SSL_CTX_set_cipher_list
        - Src:             'lib/tls/openssl/openssl-server.c:588,3'
          Dst:             SSL_CTX_set_ciphersuites
        - Src:             'lib/tls/openssl/openssl-server.c:593,2'
          Dst:             SSL_CTX_callback_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:593,2'
          Dst:             lws_ssl_server_name_cb
        - Src:             'lib/tls/openssl/openssl-server.c:595,2'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:603,11'
          Dst:             SSL_CTX_load_verify_locations
        - Src:             'lib/tls/openssl/openssl-server.c:606,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:612,34'
          Dst:             SSL_load_client_CA_file
        - Src:             'lib/tls/openssl/openssl-server.c:614,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:616,5'
          Dst:             sk_X509_NAME_num
        - Src:             'lib/tls/openssl/openssl-server.c:616,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:617,5'
          Dst:             SSL_CTX_set_client_CA_list
        - Src:             'lib/tls/openssl/openssl-server.c:625,7'
          Dst:             lws_tls_alloc_pem_to_der_file
        - Src:             'lib/tls/openssl/openssl-server.c:627,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:633,22'
          Dst:             d2i_X509
        - Src:             'lib/tls/openssl/openssl-server.c:636,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:638,30'
          Dst:             X509_STORE_new
        - Src:             'lib/tls/openssl/openssl-server.c:639,10'
          Dst:             X509_STORE_add_cert
        - Src:             'lib/tls/openssl/openssl-server.c:640,6'
          Dst:             X509_STORE_free
        - Src:             'lib/tls/openssl/openssl-server.c:641,6'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:644,6'
          Dst:             SSL_CTX_set_cert_store
        - Src:             'lib/tls/openssl/openssl-server.c:645,36'
          Dst:             sk_X509_NAME_new_null
        - Src:             'lib/tls/openssl/openssl-server.c:647,31'
          Dst:             X509_get_subject_name
        - Src:             'lib/tls/openssl/openssl-server.c:649,34'
          Dst:             X509_NAME_dup
        - Src:             'lib/tls/openssl/openssl-server.c:649,8'
          Dst:             sk_X509_NAME_push
        - Src:             'lib/tls/openssl/openssl-server.c:650,7'
          Dst:             SSL_CTX_set_client_CA_list
        - Src:             'lib/tls/openssl/openssl-server.c:652,6'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:654,5'
          Dst:             X509_free
        - Src:             'lib/tls/openssl/openssl-server.c:656,4'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-server.c:663,3'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-server.c:671,3'
          Dst:             SSL_CTX_clear_options
        - Src:             'lib/tls/openssl/openssl-server.c:674,2'
          Dst:             SSL_CTX_get_options
        - Src:             'lib/tls/openssl/openssl-server.c:674,2'
          Dst:             _lws_log
    - functionName:    lws_tls_server_certs_load
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 176
      functionLinenumberEnd: 510
      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:         90
      ICount:          558
      EdgeCount:       123
      CyclomaticComplexity: 35
      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
        - lws_tls_resolve_grace_period_certs
        - sk_X509_value
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-server.c:200,7'
          Dst:             lws_tls_resolve_grace_period_certs
        - Src:             'lib/tls/openssl/openssl-server.c:208,15'
          Dst:             lws_tls_generic_cert_checks
        - Src:             'lib/tls/openssl/openssl-server.c:244,7'
          Dst:             SSL_CTX_use_certificate_chain_file
        - Src:             'lib/tls/openssl/openssl-server.c:248,12'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-server.c:249,25'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:249,8'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-server.c:251,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:258,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:262,8'
          Dst:             SSL_CTX_use_PrivateKey_file
        - Src:             'lib/tls/openssl/openssl-server.c:266,13'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-server.c:267,26'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:267,9'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-server.c:268,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:279,6'
          Dst:             lws_tls_alloc_pem_to_der_file
        - Src:             'lib/tls/openssl/openssl-server.c:281,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:287,8'
          Dst:             SSL_CTX_use_certificate_ASN1
        - Src:             'lib/tls/openssl/openssl-server.c:293,2'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-server.c:295,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:300,6'
          Dst:             lws_tls_alloc_pem_to_der_file
        - Src:             'lib/tls/openssl/openssl-server.c:303,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:309,8'
          Dst:             SSL_CTX_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-server.c:317,9'
          Dst:             SSL_CTX_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-server.c:330,2'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-server.c:332,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:423,7'
          Dst:             SSL_CTX_check_private_key
        - Src:             'lib/tls/openssl/openssl-server.c:424,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:436,13'
          Dst:             OBJ_sn2nid
        - Src:             'lib/tls/openssl/openssl-server.c:438,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:442,9'
          Dst:             EC_KEY_new_by_curve_name
        - Src:             'lib/tls/openssl/openssl-server.c:444,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:447,2'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:448,2'
          Dst:             EC_KEY_free
        - Src:             'lib/tls/openssl/openssl-server.c:450,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-server.c:452,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:455,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:462,2'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:464,7'
          Dst:             sk_X509_value
        - Src:             'lib/tls/openssl/openssl-server.c:466,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:477,9'
          Dst:             X509_get_pubkey
        - Src:             'lib/tls/openssl/openssl-server.c:479,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:484,26'
          Dst:             EVP_PKEY_id
        - Src:             'lib/tls/openssl/openssl-server.c:484,12'
          Dst:             EVP_PKEY_type
        - Src:             'lib/tls/openssl/openssl-server.c:487,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:491,11'
          Dst:             EVP_PKEY_get1_EC_KEY
        - Src:             'lib/tls/openssl/openssl-server.c:494,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:497,2'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:499,2'
          Dst:             EC_KEY_free
    - functionName:    SSL_CTX_use_certificate_chain_file
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_use_PrivateKey_file
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_use_certificate_ASN1
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_use_PrivateKey_ASN1
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_check_private_key
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EC_KEY_new_by_curve_name
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EC_KEY_free
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_set_options
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sk_X509_value
      functionSourceFile: '/usr/include/openssl/x509.h'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - OPENSSL_sk_value
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '/usr/include/openssl/x509.h:99,1'
          Dst:             OPENSSL_sk_value
    - functionName:    X509_get_pubkey
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_PKEY_id
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_PKEY_type
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    EVP_PKEY_get1_EC_KEY
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TLS_server_method
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_new
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_set_keylog_callback
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_set_ex_data
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_set_cipher_list
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_set_ciphersuites
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ssl_server_name_cb
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          188
      EdgeCount:       38
      CyclomaticComplexity: 11
      functionsReached:
        - SSL_CTX_get_client_CA_list
        - SSL_CTX_get_verify_callback
        - SSL_CTX_get_verify_mode
        - SSL_dup_CA_list
        - SSL_get_SSL_CTX
        - SSL_get_servername
        - SSL_set_SSL_CTX
        - SSL_set_client_CA_list
        - SSL_set_verify
        - __assert_fail
        - _lws_log
        - lws_select_vhost
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-server.c:117,26'
          Dst:             SSL_get_SSL_CTX
        - Src:             'lib/tls/openssl/openssl-server.c:123,3'
          Dst:             __assert_fail
        - Src:             'lib/tls/openssl/openssl-server.c:127,15'
          Dst:             SSL_get_servername
        - Src:             'lib/tls/openssl/openssl-server.c:130,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:135,10'
          Dst:             lws_select_vhost
        - Src:             'lib/tls/openssl/openssl-server.c:137,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:142,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:145,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:150,2'
          Dst:             SSL_set_SSL_CTX
        - Src:             'lib/tls/openssl/openssl-server.c:157,22'
          Dst:             SSL_CTX_get_verify_mode
        - Src:             'lib/tls/openssl/openssl-server.c:158,10'
          Dst:             SSL_CTX_get_verify_callback
        - Src:             'lib/tls/openssl/openssl-server.c:157,2'
          Dst:             SSL_set_verify
        - Src:             'lib/tls/openssl/openssl-server.c:160,6'
          Dst:             SSL_CTX_get_client_CA_list
        - Src:             'lib/tls/openssl/openssl-server.c:161,47'
          Dst:             SSL_CTX_get_client_CA_list
        - Src:             'lib/tls/openssl/openssl-server.c:161,31'
          Dst:             SSL_dup_CA_list
        - Src:             'lib/tls/openssl/openssl-server.c:161,3'
          Dst:             SSL_set_client_CA_list
    - functionName:    SSL_CTX_callback_ctrl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_load_verify_locations
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_load_client_CA_file
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sk_X509_NAME_num
      functionSourceFile: '/usr/include/openssl/x509.h'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - OPENSSL_sk_num
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '/usr/include/openssl/x509.h:77,1'
          Dst:             OPENSSL_sk_num
    - functionName:    SSL_CTX_set_client_CA_list
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    d2i_X509
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_STORE_add_cert
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sk_X509_NAME_new_null
      functionSourceFile: '/usr/include/openssl/x509.h'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - OPENSSL_sk_new_null
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '/usr/include/openssl/x509.h:77,1'
          Dst:             OPENSSL_sk_new_null
    - functionName:    X509_NAME_dup
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sk_X509_NAME_push
      functionSourceFile: '/usr/include/openssl/x509.h'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - OPENSSL_sk_push
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             '/usr/include/openssl/x509.h:77,1'
          Dst:             OPENSSL_sk_push
    - functionName:    SSL_CTX_clear_options
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_get_options
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    OPENSSL_sk_push
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    OPENSSL_sk_new_null
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_get_servername
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_set_SSL_CTX
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_get_verify_mode
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_get_verify_callback
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_set_verify
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_get_client_CA_list
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_dup_CA_list
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_set_client_CA_list
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    OpenSSL_verify_callback
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          85
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - SSL_get_ex_data
        - SSL_get_ex_data_X509_STORE_CTX_idx
        - X509_STORE_CTX_get_current_cert
        - X509_STORE_CTX_get_ex_data
        - _lws_log
        - lws_tls_openssl_cert_info
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-server.c:45,18'
          Dst:             X509_STORE_CTX_get_current_cert
        - Src:             'lib/tls/openssl/openssl-server.c:48,3'
          Dst:             SSL_get_ex_data_X509_STORE_CTX_idx
        - Src:             'lib/tls/openssl/openssl-server.c:47,8'
          Dst:             X509_STORE_CTX_get_ex_data
        - Src:             'lib/tls/openssl/openssl-server.c:54,8'
          Dst:             SSL_get_ex_data
        - Src:             'lib/tls/openssl/openssl-server.c:58,6'
          Dst:             lws_tls_openssl_cert_info
        - Src:             'lib/tls/openssl/openssl-server.c:61,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:63,3'
          Dst:             _lws_log
    - functionName:    X509_STORE_CTX_get_current_cert
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_get_ex_data_X509_STORE_CTX_idx
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_STORE_CTX_get_ex_data
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_server_client_cert_verify_config
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          63
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - OpenSSL_verify_callback
        - SSL_CTX_set_session_id_context
        - SSL_CTX_set_verify
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-server.c:88,2'
          Dst:             SSL_CTX_set_session_id_context
        - Src:             'lib/tls/openssl/openssl-server.c:92,2'
          Dst:             SSL_CTX_set_verify
        - Src:             'lib/tls/openssl/openssl-server.c:92,2'
          Dst:             OpenSSL_verify_callback
    - functionName:    SSL_CTX_set_session_id_context
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_set_verify
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_client_upgrade
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 248
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_client_create_tls
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-client.c:253,6'
          Dst:             lws_client_create_tls
    - functionName:    lws_client_create_tls
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 244
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          170
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log
        - lws_now_usecs
        - lws_ssl_client_bio_create
        - lws_ssl_client_connect1
        - lws_tls_restrict_borrow
        - lws_tls_server_conn_alpn
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-client.c:201,8'
          Dst:             lws_tls_restrict_borrow
        - Src:             'lib/tls/tls-client.c:206,8'
          Dst:             lws_ssl_client_bio_create
        - Src:             'lib/tls/tls-client.c:219,23'
          Dst:             lws_now_usecs
        - Src:             'lib/tls/tls-client.c:222,7'
          Dst:             lws_ssl_client_connect1
        - Src:             'lib/tls/tls-client.c:224,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls-client.c:235,3'
          Dst:             lws_tls_server_conn_alpn
    - functionName:    lws_ssl_client_connect1
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 55
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          72
      EdgeCount:       21
      CyclomaticComplexity: 12
      functionsReached:
        - lws_callback_on_writable
        - lws_now_usecs
        - lws_tls_client_connect
        - lws_tls_restrict_return_handshake
        - lwsi_set_state
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/tls/tls-client.c:34,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/tls-client.c:33,6'
          Dst:             lws_tls_client_connect
        - Src:             'lib/tls/tls-client.c:36,3'
          Dst:             lws_tls_restrict_return_handshake
        - Src:             'lib/tls/tls-client.c:39,3'
          Dst:             lws_tls_restrict_return_handshake
        - Src:             'lib/tls/tls-client.c:43,7'
          Dst:             lws_now_usecs
        - Src:             'lib/tls/tls-client.c:47,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/tls/tls-client.c:50,3'
          Dst:             lwsi_set_state
    - functionName:    lws_context_init_client_ssl
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 186
      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:159,6'
          Dst:             lws_tls_client_create_vhost_context
        - Src:             'lib/tls/tls-client.c:172,2'
          Dst:             _lws_log
    - functionName:    lws_ssl_client_connect2
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          113
      EdgeCount:       20
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lws_callback_on_writable
        - lws_now_usecs
        - lws_tls_client_confirm_peer_cert
        - lws_tls_client_connect
        - lws_tls_restrict_return_handshake
        - lwsi_set_state
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/tls/tls-client.c: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:89,2'
          Dst:             lws_tls_restrict_return_handshake
        - Src:             'lib/tls/tls-client.c:91,6'
          Dst:             lws_tls_client_confirm_peer_cert
        - Src:             'lib/tls/tls-client.c:99,7'
          Dst:             lws_now_usecs
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      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: 709
      functionLinenumberEnd: 1091
      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:         158
      ICount:          1072
      EdgeCount:       214
      CyclomaticComplexity: 58
      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_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
        - __errno_location
        - _lws_log
        - lws_dll2_add_head
        - lws_dll2_get_head
        - lws_klog_dump
        - lws_plat_vhost_tls_client_ctx_init
        - lws_realloc
        - lws_ssl_bind_passphrase
        - lws_strdup
        - lws_tls_alloc_pem_to_der_file
        - lws_tls_client_vhost_ca_mem_parse
        - lws_tls_err_describe_clear
        - lws_tls_session_cache
        - lws_tls_use_any_upgrade_check_extant
        - lws_zalloc
        - memcmp
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-client.c:723,25'
          Dst:             TLS_client_method
        - Src:             'lib/tls/openssl/openssl-client.c:734,11'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-client.c:735,25'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-client.c:735,8'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-client.c:736,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:753,11'
          Dst:             EVP_MD_CTX_new
        - Src:             'lib/tls/openssl/openssl-client.c:757,31'
          Dst:             EVP_sha256
        - Src:             'lib/tls/openssl/openssl-client.c:757,6'
          Dst:             EVP_DigestInit_ex
        - Src:             'lib/tls/openssl/openssl-client.c:758,3'
          Dst:             EVP_MD_CTX_free
        - Src:             'lib/tls/openssl/openssl-client.c:764,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:769,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:775,6'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:774,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:778,41'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:778,4'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:783,7'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:782,4'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:789,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:793,40'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:793,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:796,42'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:796,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:800,6'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:799,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:802,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:805,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:808,2'
          Dst:             EVP_DigestFinal_ex
        - Src:             'lib/tls/openssl/openssl-client.c:809,2'
          Dst:             EVP_MD_CTX_free
        - Src:             'lib/tls/openssl/openssl-client.c:813,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/tls/openssl/openssl-client.c:817,8'
          Dst:             memcmp
        - Src:             'lib/tls/openssl/openssl-client.c:825,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:835,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-client.c:836,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-client.c:837,27'
          Dst:             SSL_CTX_new
        - Src:             'lib/tls/openssl/openssl-client.c:842,11'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-client.c:843,25'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-client.c:843,8'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-client.c:844,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:849,2'
          Dst:             SSL_CTX_set_ex_data
        - Src:             'lib/tls/openssl/openssl-client.c:853,2'
          Dst:             lws_plat_vhost_tls_client_ctx_init
        - Src:             'lib/tls/openssl/openssl-client.c:855,8'
          Dst:             lws_zalloc
        - Src:             'lib/tls/openssl/openssl-client.c:857,3'
          Dst:             SSL_CTX_free
        - Src:             'lib/tls/openssl/openssl-client.c:865,2'
          Dst:             lws_dll2_add_head
        - Src:             'lib/tls/openssl/openssl-client.c:867,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:877,3'
          Dst:             SSL_CTX_set_keylog_callback
        - Src:             'lib/tls/openssl/openssl-client.c:877,3'
          Dst:             lws_klog_dump
        - Src:             'lib/tls/openssl/openssl-client.c:883,2'
          Dst:             lws_tls_session_cache
        - Src:             'lib/tls/openssl/openssl-client.c:887,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-client.c:890,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-client.c:893,2'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-client.c:900,3'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-client.c:907,3'
          Dst:             SSL_CTX_clear_options
        - Src:             'lib/tls/openssl/openssl-client.c:911,13'
          Dst:             lws_strdup
        - Src:             'lib/tls/openssl/openssl-client.c:919,4'
          Dst:             SSL_CTX_set_cipher_list
        - Src:             'lib/tls/openssl/openssl-client.c:921,4'
          Dst:             SSL_CTX_set_ciphersuites
        - Src:             'lib/tls/openssl/openssl-client.c:923,4'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-client.c:927,4'
          Dst:             SSL_CTX_set_cipher_list
        - Src:             'lib/tls/openssl/openssl-client.c:931,4'
          Dst:             SSL_CTX_set_ciphersuites
        - Src:             'lib/tls/openssl/openssl-client.c:939,3'
          Dst:             SSL_CTX_set_default_verify_paths
        - Src:             'lib/tls/openssl/openssl-client.c:948,8'
          Dst:             SSL_CTX_load_verify_locations
        - Src:             'lib/tls/openssl/openssl-client.c:951,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:960,8'
          Dst:             SSL_CTX_load_verify_locations
        - Src:             'lib/tls/openssl/openssl-client.c:963,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:967,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:970,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:973,7'
          Dst:             lws_tls_client_vhost_ca_mem_parse
        - Src:             'lib/tls/openssl/openssl-client.c:974,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:987,7'
          Dst:             lws_tls_use_any_upgrade_check_extant
        - Src:             'lib/tls/openssl/openssl-client.c:992,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:994,7'
          Dst:             SSL_CTX_use_certificate_chain_file
        - Src:             'lib/tls/openssl/openssl-client.c:997,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:999,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:1002,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1008,7'
          Dst:             lws_tls_alloc_pem_to_der_file
        - Src:             'lib/tls/openssl/openssl-client.c:1010,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1015,7'
          Dst:             SSL_CTX_use_certificate_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:1018,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1019,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:1022,3'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-client.c:1029,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1030,3'
          Dst:             lws_ssl_bind_passphrase
        - Src:             'lib/tls/openssl/openssl-client.c:1032,7'
          Dst:             SSL_CTX_use_PrivateKey_file
        - Src:             'lib/tls/openssl/openssl-client.c:1034,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1036,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:1039,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1043,8'
          Dst:             SSL_CTX_check_private_key
        - Src:             'lib/tls/openssl/openssl-client.c:1044,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1053,7'
          Dst:             lws_tls_alloc_pem_to_der_file
        - Src:             'lib/tls/openssl/openssl-client.c:1055,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1060,7'
          Dst:             SSL_CTX_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:1068,8'
          Dst:             SSL_CTX_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:1077,3'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-client.c:1080,4'
          Dst:             _lws_log
    - functionName:    TLS_client_method
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_set_default_verify_paths
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_client_vhost_extra_cert_mem
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 660
      functionLinenumberEnd: 693
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          96
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - SSL_CTX_get_cert_store
        - SSL_CTX_set_cert_store
        - X509_STORE_add_cert
        - X509_STORE_new
        - X509_free
        - _lws_log
        - d2i_X509
        - lws_tls_err_describe_clear
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-client.c:665,13'
          Dst:             d2i_X509
        - Src:             'lib/tls/openssl/openssl-client.c:670,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:671,3'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:675,7'
          Dst:             SSL_CTX_get_cert_store
        - Src:             'lib/tls/openssl/openssl-client.c:677,8'
          Dst:             X509_STORE_new
        - Src:             'lib/tls/openssl/openssl-client.c:679,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:680,4'
          Dst:             X509_free
        - Src:             'lib/tls/openssl/openssl-client.c:683,3'
          Dst:             SSL_CTX_set_cert_store
        - Src:             'lib/tls/openssl/openssl-client.c:686,6'
          Dst:             X509_STORE_add_cert
        - Src:             'lib/tls/openssl/openssl-client.c:688,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:690,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: 591
      functionLinenumberEnd: 654
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          115
      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:602,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-client.c:598,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-client.c:599,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-client.c:600,6'
          Dst:             SSL_get_verify_result
        - Src:             'lib/tls/openssl/openssl-client.c:629,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:637,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:642,7'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-client.c:643,2'
          Dst:             lws_snprintf
        - Src:             'lib/tls/openssl/openssl-client.c:646,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:647,2'
          Dst:             lws_tls_err_describe_clear
    - functionName:    lws_tls_client_connect
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 498
      functionLinenumberEnd: 587
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          254
      EdgeCount:       50
      CyclomaticComplexity: 15
      functionsReached:
        - ERR_clear_error
        - ERR_error_string_n
        - ERR_get_error
        - SSL_SESSION_set_time
        - SSL_connect
        - SSL_get0_alpn_selected
        - SSL_get_session
        - SSL_session_reused
        - SSL_want
        - __errno_location
        - _lws_log
        - lws_openssl_describe_cipher
        - lws_role_call_alpn_negotiated
        - lws_snprintf
        - lws_ssl_get_error
        - time
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-client.c:510,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-client.c:511,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-client.c:513,6'
          Dst:             SSL_connect
        - Src:             'lib/tls/openssl/openssl-client.c:514,7'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-client.c:516,6'
          Dst:             lws_ssl_get_error
        - Src:             'lib/tls/openssl/openssl-client.c:524,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:526,3'
          Dst:             lws_snprintf
        - Src:             'lib/tls/openssl/openssl-client.c:531,7'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-client.c:532,7'
          Dst:             lws_snprintf
        - Src:             'lib/tls/openssl/openssl-client.c:534,4'
          Dst:             ERR_error_string_n
        - Src:             'lib/tls/openssl/openssl-client.c:539,6'
          Dst:             SSL_session_reused
        - Src:             'lib/tls/openssl/openssl-client.c:541,10'
          Dst:             SSL_get_session
        - Src:             'lib/tls/openssl/openssl-client.c:546,37'
          Dst:             time
        - Src:             'lib/tls/openssl/openssl-client.c:546,4'
          Dst:             SSL_SESSION_set_time
        - Src:             'lib/tls/openssl/openssl-client.c:552,34'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-client.c:555,35'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-client.c:561,3'
          Dst:             SSL_get0_alpn_selected
        - Src:             'lib/tls/openssl/openssl-client.c:568,3'
          Dst:             lws_role_call_alpn_negotiated
        - Src:             'lib/tls/openssl/openssl-client.c:576,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:577,3'
          Dst:             lws_openssl_describe_cipher
        - Src:             'lib/tls/openssl/openssl-client.c:584,2'
          Dst:             lws_snprintf
    - functionName:    SSL_connect
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_get_session
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    OpenSSL_client_verify_callback
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 247
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         66
      ICount:          373
      EdgeCount:       88
      CyclomaticComplexity: 24
      functionsReached:
        - SSL_get_ex_data
        - SSL_get_ex_data_X509_STORE_CTX_idx
        - SSL_get_servername
        - X509_NAME_get_text_by_NID
        - X509_STORE_CTX_get_current_cert
        - X509_STORE_CTX_get_error
        - X509_STORE_CTX_get_error_depth
        - X509_STORE_CTX_get_ex_data
        - X509_STORE_CTX_set_error
        - X509_get_subject_name
        - X509_verify_cert_error_string
        - _lws_log
        - lws_strncpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-client.c:99,9'
          Dst:             X509_STORE_CTX_get_error
        - Src:             'lib/tls/openssl/openssl-client.c:103,6'
          Dst:             SSL_get_ex_data_X509_STORE_CTX_idx
        - Src:             'lib/tls/openssl/openssl-client.c:102,10'
          Dst:             X509_STORE_CTX_get_ex_data
        - Src:             'lib/tls/openssl/openssl-client.c:104,10'
          Dst:             SSL_get_ex_data
        - Src:             'lib/tls/openssl/openssl-client.c:107,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:116,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:118,5'
          Dst:             X509_STORE_CTX_set_error
        - Src:             'lib/tls/openssl/openssl-client.c:123,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:124,5'
          Dst:             X509_STORE_CTX_set_error
        - Src:             'lib/tls/openssl/openssl-client.c:130,6'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:134,6'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:137,5'
          Dst:             X509_STORE_CTX_set_error
        - Src:             'lib/tls/openssl/openssl-client.c:144,7'
          Dst:             SSL_get_ex_data_X509_STORE_CTX_idx
        - Src:             'lib/tls/openssl/openssl-client.c:143,8'
          Dst:             X509_STORE_CTX_get_ex_data
        - Src:             'lib/tls/openssl/openssl-client.c:145,8'
          Dst:             SSL_get_ex_data
        - Src:             'lib/tls/openssl/openssl-client.c:147,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:201,13'
          Dst:             X509_STORE_CTX_get_error
        - Src:             'lib/tls/openssl/openssl-client.c:205,16'
          Dst:             X509_STORE_CTX_get_error_depth
        - Src:             'lib/tls/openssl/openssl-client.c:206,22'
          Dst:             X509_verify_cert_error_string
        - Src:             'lib/tls/openssl/openssl-client.c:208,4'
          Dst:             lws_strncpy
        - Src:             'lib/tls/openssl/openssl-client.c:211,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:215,28'
          Dst:             SSL_get_servername
        - Src:             'lib/tls/openssl/openssl-client.c:217,18'
          Dst:             X509_STORE_CTX_get_current_cert
        - Src:             'lib/tls/openssl/openssl-client.c:219,33'
          Dst:             X509_get_subject_name
        - Src:             'lib/tls/openssl/openssl-client.c:221,7'
          Dst:             X509_NAME_get_text_by_NID
        - Src:             'lib/tls/openssl/openssl-client.c:223,5'
          Dst:             _lws_log
    - functionName:    X509_STORE_CTX_get_error
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_STORE_CTX_set_error
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_STORE_CTX_get_error_depth
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_verify_cert_error_string
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_ssl_client_bio_create
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 252
      functionLinenumberEnd: 493
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         63
      ICount:          522
      EdgeCount:       86
      CyclomaticComplexity: 25
      functionsReached:
        - BIO_ctrl
        - BIO_new_socket
        - ERR_error_string
        - ERR_get_error
        - OpenSSL_client_verify_callback
        - SSL_check_private_key
        - SSL_ctrl
        - SSL_get0_param
        - SSL_new
        - SSL_set_alpn_protos
        - SSL_set_bio
        - SSL_set_ex_data
        - SSL_set_info_callback
        - SSL_set_verify
        - SSL_use_PrivateKey_ASN1
        - SSL_use_certificate_ASN1
        - X509_VERIFY_PARAM_set1_host
        - X509_VERIFY_PARAM_set1_ip_asc
        - X509_VERIFY_PARAM_set_hostflags
        - _lws_log
        - lws_alpn_comma_to_openssl
        - lws_hdr_copy
        - lws_ssl_info_callback
        - lws_strncpy
        - lws_system_blob_get_single_ptr
        - lws_system_blob_get_size
        - lws_system_get_blob
        - lws_tls_err_describe_clear
        - lws_tls_reuse_session
        - strnlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-client.c:262,3'
          Dst:             lws_strncpy
        - Src:             'lib/tls/openssl/openssl-client.c:269,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/tls/openssl/openssl-client.c:273,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:292,17'
          Dst:             SSL_new
        - Src:             'lib/tls/openssl/openssl-client.c:294,23'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-client.c:295,20'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-client.c:296,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:297,3'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:303,3'
          Dst:             lws_tls_reuse_session
        - Src:             'lib/tls/openssl/openssl-client.c:308,3'
          Dst:             SSL_set_info_callback
        - Src:             'lib/tls/openssl/openssl-client.c:308,3'
          Dst:             lws_ssl_info_callback
        - Src:             'lib/tls/openssl/openssl-client.c:315,30'
          Dst:             SSL_get0_param
        - Src:             'lib/tls/openssl/openssl-client.c:318,3'
          Dst:             X509_VERIFY_PARAM_set_hostflags
        - Src:             'lib/tls/openssl/openssl-client.c:321,8'
          Dst:             X509_VERIFY_PARAM_set1_ip_asc
        - Src:             'lib/tls/openssl/openssl-client.c:323,6'
          Dst:             strnlen
        - Src:             'lib/tls/openssl/openssl-client.c:322,4'
          Dst:             X509_VERIFY_PARAM_set1_host
        - Src:             'lib/tls/openssl/openssl-client.c:339,2'
          Dst:             SSL_set_verify
        - Src:             'lib/tls/openssl/openssl-client.c:339,2'
          Dst:             OpenSSL_client_verify_callback
        - Src:             'lib/tls/openssl/openssl-client.c:345,2'
          Dst:             SSL_ctrl
        - Src:             'lib/tls/openssl/openssl-client.c:365,2'
          Dst:             SSL_ctrl
        - Src:             'lib/tls/openssl/openssl-client.c:386,24'
          Dst:             BIO_new_socket
        - Src:             'lib/tls/openssl/openssl-client.c:388,2'
          Dst:             SSL_set_bio
        - Src:             'lib/tls/openssl/openssl-client.c:397,2'
          Dst:             BIO_ctrl
        - Src:             'lib/tls/openssl/openssl-client.c:408,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/tls/openssl/openssl-client.c:414,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:416,6'
          Dst:             lws_alpn_comma_to_openssl
        - Src:             'lib/tls/openssl/openssl-client.c:419,2'
          Dst:             SSL_set_alpn_protos
        - Src:             'lib/tls/openssl/openssl-client.c:422,2'
          Dst:             SSL_set_ex_data
        - Src:             'lib/tls/openssl/openssl-client.c:426,26'
          Dst:             lws_system_get_blob
        - Src:             'lib/tls/openssl/openssl-client.c:439,10'
          Dst:             lws_system_blob_get_size
        - Src:             'lib/tls/openssl/openssl-client.c:443,7'
          Dst:             lws_system_blob_get_single_ptr
        - Src:             'lib/tls/openssl/openssl-client.c:446,7'
          Dst:             SSL_use_certificate_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:448,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:449,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:453,7'
          Dst:             lws_system_get_blob
        - Src:             'lib/tls/openssl/openssl-client.c:459,10'
          Dst:             lws_system_blob_get_size
        - Src:             'lib/tls/openssl/openssl-client.c:463,7'
          Dst:             lws_system_blob_get_single_ptr
        - Src:             'lib/tls/openssl/openssl-client.c:466,7'
          Dst:             SSL_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:468,7'
          Dst:             SSL_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:471,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:472,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:476,7'
          Dst:             SSL_check_private_key
        - Src:             'lib/tls/openssl/openssl-client.c:477,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:478,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:482,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:489,2'
          Dst:             _lws_log
    - functionName:    SSL_get0_param
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_VERIFY_PARAM_set_hostflags
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_VERIFY_PARAM_set1_ip_asc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strnlen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    X509_VERIFY_PARAM_set1_host
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BIO_new_socket
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_set_bio
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_set_alpn_protos
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_use_certificate_ASN1
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_use_PrivateKey_ASN1
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_check_private_key
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_genhkdf_expand_label
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 842
      functionLinenumberEnd: 874
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - int
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          148
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - lws_genhkdf_expand
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/lws-gencrypto-common.c:850,14'
          Dst:             strlen
        - Src:             'lib/tls/lws-gencrypto-common.c:873,9'
          Dst:             lws_genhkdf_expand
    - functionName:    lws_genhkdf_expand
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 795
      functionLinenumberEnd: 835
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          205
      EdgeCount:       52
      CyclomaticComplexity: 16
      functionsReached:
        - lws_genhmac_destroy
        - lws_genhmac_init
        - lws_genhmac_size
        - lws_genhmac_update
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/lws-gencrypto-common.c:798,14'
          Dst:             lws_genhmac_size
        - Src:             'lib/tls/lws-gencrypto-common.c:807,7'
          Dst:             lws_genhmac_init
        - Src:             'lib/tls/lws-gencrypto-common.c:810,16'
          Dst:             lws_genhmac_update
        - Src:             'lib/tls/lws-gencrypto-common.c:813,27'
          Dst:             lws_genhmac_update
        - Src:             'lib/tls/lws-gencrypto-common.c:816,7'
          Dst:             lws_genhmac_update
        - Src:             'lib/tls/lws-gencrypto-common.c:819,7'
          Dst:             lws_genhmac_destroy
        - Src:             'lib/tls/lws-gencrypto-common.c:833,2'
          Dst:             lws_genhmac_destroy
    - functionName:    lws_genhmac_size
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 653
      functionLinenumberEnd: 668
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       14
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib/tls/lws-gencrypto-common.c:654,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    lws_genhkdf_extract
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 759
      functionLinenumberEnd: 789
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          122
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - lws_genhmac_destroy
        - lws_genhmac_init
        - lws_genhmac_size
        - lws_genhmac_update
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/lws-gencrypto-common.c:765,7'
          Dst:             lws_genhmac_size
        - Src:             'lib/tls/lws-gencrypto-common.c:775,6'
          Dst:             lws_genhmac_init
        - Src:             'lib/tls/lws-gencrypto-common.c:778,17'
          Dst:             lws_genhmac_update
        - Src:             'lib/tls/lws-gencrypto-common.c:781,6'
          Dst:             lws_genhmac_destroy
        - Src:             'lib/tls/lws-gencrypto-common.c:787,2'
          Dst:             lws_genhmac_destroy
    - functionName:    lws_genhash_render_prefixed
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 735
      functionLinenumberEnd: 753
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          98
      EdgeCount:       17
      CyclomaticComplexity: 3
      functionsReached:
        - lws_genhash_render
        - lws_snprintf
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/tls/lws-gencrypto-common.c:739,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/lws-gencrypto-common.c:748,6'
          Dst:             lws_snprintf
        - Src:             'lib/tls/lws-gencrypto-common.c:752,9'
          Dst:             lws_genhash_render
    - functionName:    lws_genhash_render
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 702
      functionLinenumberEnd: 731
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          151
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - lws_genhash_size
        - lws_snprintf
        - lws_strncpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/lws-gencrypto-common.c:703,14'
          Dst:             lws_genhash_size
        - Src:             'lib/tls/lws-gencrypto-common.c:716,5'
          Dst:             lws_snprintf
        - Src:             'lib/tls/lws-gencrypto-common.c:717,4'
          Dst:             lws_strncpy
        - Src:             'lib/tls/lws-gencrypto-common.c:726,3'
          Dst:             lws_snprintf
    - functionName:    lws_genhash_size
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 632
      functionLinenumberEnd: 649
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       16
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    7
      BranchProfiles:
        - Branch String:   'lib/tls/lws-gencrypto-common.c:633,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    lws_gencrypto_padded_length
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 696
      functionLinenumberEnd: 697
      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: 687
      functionLinenumberEnd: 693
      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:692,4'
          Dst:             lws_realloc
    - functionName:    lws_base64_size
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 681
      functionLinenumberEnd: 682
      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: 672
      functionLinenumberEnd: 677
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          28
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_gencrypto_jwe_enc_to_definition
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 615
      functionLinenumberEnd: 628
      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:619,8'
          Dst:             strcmp
    - functionName:    lws_gencrypto_jwe_alg_to_definition
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 597
      functionLinenumberEnd: 610
      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:601,8'
          Dst:             strcmp
    - functionName:    lws_gencrypto_jws_alg_to_definition
      functionSourceFile: '/src/libwebsockets/lib/tls/lws-gencrypto-common.c'
      linkageType:     InternalLinkage
      functionLinenumber: 579
      functionLinenumberEnd: 592
      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:583,8'
          Dst:             strcmp
    - functionName:    lws_wsmsg_destroy
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 732
      functionLinenumberEnd: 737
      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:736,3'
          Dst:             lws_buflist_destroy_all_segments
    - functionName:    lws_buflist_destroy_all_segments
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          56
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_realloc
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:163,4'
          Dst:             lws_realloc
        - Src:             'lib/core/buflist.c:164,3'
          Dst:             lws_realloc
    - functionName:    lws_wsmsg_transfer
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 631
      functionLinenumberEnd: 678
      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: 682
      functionLinenumberEnd: 728
      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:695,7'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core/buflist.c:709,7'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core/buflist.c:725,2'
          Dst:             lws_wsmsg_transfer
    - functionName:    lws_buflist_append_segment
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          161
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_realloc
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:46,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:52,4'
          Dst:             _lws_log
        - Src:             'lib/core/buflist.c:56,4'
          Dst:             _lws_log
        - Src:             'lib/core/buflist.c:60,4'
          Dst:             _lws_log
        - Src:             'lib/core/buflist.c:67,2'
          Dst:             _lws_log
        - Src:             'lib/core/buflist.c:70,31'
          Dst:             lws_realloc
        - Src:             'lib/core/buflist.c:73,3'
          Dst:             _lws_log
    - functionName:    lws_flow_req
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 599
      functionLinenumberEnd: 626
      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:604,2'
          Dst:             lws_flow_feed
        - Src:             'lib/core/buflist.c:611,9'
          Dst:             lws_ss_get_est_peer_tx_credit
        - Src:             'lib/core/buflist.c:612,9'
          Dst:             lws_buflist_total_len
        - Src:             'lib/core/buflist.c:618,5'
          Dst:             lws_ss_add_peer_tx_credit
    - functionName:    lws_flow_feed
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 581
      functionLinenumberEnd: 595
      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:586,3'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/core/buflist.c:588,14'
          Dst:             lws_buflist_next_segment_len
    - functionName:    lws_buflist_total_len
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 227
      functionLinenumberEnd: 236
      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: 204
      functionLinenumberEnd: 223
      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:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:207,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:208,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:209,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:213,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:218,6'
          Dst:             lws_buflist_destroy_segment
        - Src:             'lib/core/buflist.c:222,9'
          Dst:             lws_buflist_next_segment_len
    - functionName:    lws_buflist_next_segment_len
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 200
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          149
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - __assert_fail
        - lws_buflist_destroy_segment
      functionUses:    19
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:183,7'
          Dst:             lws_buflist_destroy_segment
        - Src:             'lib/core/buflist.c:190,2'
          Dst:             __assert_fail
    - functionName:    lws_buflist_destroy_segment
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          65
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:143,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:148,3'
          Dst:             lws_realloc
        - Src:             'lib/core/buflist.c:149,2'
          Dst:             lws_realloc
    - functionName:    lws_buflist2_get_frag_start_or_NULL
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 564
      functionLinenumberEnd: 576
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_buflist2_fragment_use
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 529
      functionLinenumberEnd: 560
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          178
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - lws_buflist2_use_segment
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:557,2'
          Dst:             lws_buflist2_use_segment
    - functionName:    lws_buflist2_use_segment
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 502
      functionLinenumberEnd: 524
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          124
      EdgeCount:       22
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - lws_buflist2_destroy_segment
        - lws_buflist2_next_segment_len
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:509,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:510,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:514,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:519,6'
          Dst:             lws_buflist2_destroy_segment
        - Src:             'lib/core/buflist.c:523,9'
          Dst:             lws_buflist2_next_segment_len
    - functionName:    lws_buflist2_destroy_segment
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 443
      functionLinenumberEnd: 458
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          71
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_dll2_remove
        - lws_realloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:451,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core/buflist.c:454,3'
          Dst:             lws_realloc
        - Src:             'lib/core/buflist.c:455,2'
          Dst:             lws_realloc
    - functionName:    lws_buflist2_next_segment_len
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 469
      functionLinenumberEnd: 498
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          160
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - __assert_fail
        - lws_buflist2_destroy_segment
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:481,7'
          Dst:             lws_buflist2_destroy_segment
        - Src:             'lib/core/buflist.c:488,2'
          Dst:             __assert_fail
    - functionName:    lws_buflist2_destroy_all_segments
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 462
      functionLinenumberEnd: 465
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_buflist2_destroy_segment
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:464,3'
          Dst:             lws_buflist2_destroy_segment
    - functionName:    lws_buflist2_append_segment_take_ownership
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 408
      functionLinenumberEnd: 439
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          129
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_dll2_add_tail
        - lws_dll2_clear
        - lws_realloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:416,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:419,3'
          Dst:             _lws_log
        - Src:             'lib/core/buflist.c:424,32'
          Dst:             lws_realloc
        - Src:             'lib/core/buflist.c:426,3'
          Dst:             _lws_log
        - Src:             'lib/core/buflist.c:430,2'
          Dst:             lws_dll2_clear
        - Src:             'lib/core/buflist.c:435,2'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_buflist2_append_segment
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 369
      functionLinenumberEnd: 404
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          138
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_dll2_add_tail
        - lws_dll2_clear
        - lws_realloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:377,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:380,3'
          Dst:             _lws_log
        - Src:             'lib/core/buflist.c:385,32'
          Dst:             lws_realloc
        - Src:             'lib/core/buflist.c:388,3'
          Dst:             _lws_log
        - Src:             'lib/core/buflist.c:392,2'
          Dst:             lws_dll2_clear
        - Src:             'lib/core/buflist.c:400,2'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_buflist_get_frag_start_or_NULL
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 345
      functionLinenumberEnd: 355
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_buflist_describe
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 317
      functionLinenumberEnd: 340
      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:323,3'
          Dst:             _lws_log
        - Src:             'lib/core/buflist.c:326,3'
          Dst:             _lws_log
        - Src:             'lib/core/buflist.c:334,4'
          Dst:             _lws_log
    - functionName:    lws_buflist_fragment_use
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 287
      functionLinenumberEnd: 312
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          157
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - lws_buflist_use_segment
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:309,2'
          Dst:             lws_buflist_use_segment
    - functionName:    lws_buflist_linear_use
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 281
      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:278,3'
          Dst:             lws_buflist_use_segment
    - functionName:    lws_buflist_linear_copy
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 242
      functionLinenumberEnd: 261
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          107
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_buflist_append_segment_take_ownership
      functionSourceFile: '/src/libwebsockets/lib/core/buflist.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          140
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_realloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:102,2'
          Dst:             __assert_fail
        - Src:             'lib/core/buflist.c:108,4'
          Dst:             _lws_log
        - Src:             'lib/core/buflist.c:112,4'
          Dst:             _lws_log
        - Src:             'lib/core/buflist.c:116,4'
          Dst:             _lws_log
        - Src:             'lib/core/buflist.c:122,31'
          Dst:             lws_realloc
        - Src:             'lib/core/buflist.c:124,3'
          Dst:             _lws_log
    - functionName:    lws_get_fops
      functionSourceFile: '/src/libwebsockets/lib/core/vfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_vfs_file_open
      functionSourceFile: '/src/libwebsockets/lib/core/vfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          35
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_vfs_select_fops
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/vfs.c:147,13'
          Dst:             lws_vfs_select_fops
    - functionName:    lws_vfs_select_fops
      functionSourceFile: '/src/libwebsockets/lib/core/vfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          317
      EdgeCount:       59
      CyclomaticComplexity: 17
      functionsReached:
        - _lws_log
        - strncmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/vfs.c:95,9'
          Dst:             strncmp
        - Src:             'lib/core/vfs.c:116,5'
          Dst:             _lws_log
        - Src:             'lib/core/vfs.c:122,11'
          Dst:             strncmp
        - Src:             'lib/core/vfs.c:125,11'
          Dst:             strncmp
    - functionName:    lws_vfs_file_seek_end
      functionSourceFile: '/src/libwebsockets/lib/core/vfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 67
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_vfs_file_seek_set
      functionSourceFile: '/src/libwebsockets/lib/core/vfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          32
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_vfs_get_mod_time
      functionSourceFile: '/src/libwebsockets/lib/core/vfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_vfs_get_length
      functionSourceFile: '/src/libwebsockets/lib/core/vfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_vfs_tell
      functionSourceFile: '/src/libwebsockets/lib/core/vfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_set_fops
      functionSourceFile: '/src/libwebsockets/lib/core/vfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 31
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_b32_decode_string
      functionSourceFile: '/src/libwebsockets/lib/misc/base64-decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 383
      functionLinenumberEnd: 384
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_b32_decode_string_len
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/base64-decode.c:384,9'
          Dst:             lws_b32_decode_string_len
    - functionName:    lws_b32_decode_string_len
      functionSourceFile: '/src/libwebsockets/lib/misc/base64-decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 324
      functionLinenumberEnd: 379
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         58
      ICount:          364
      EdgeCount:       77
      CyclomaticComplexity: 21
      functionsReached:
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/base64-decode.c:330,17'
          Dst:             strlen
    - functionName:    lws_b32_encode_string
      functionSourceFile: '/src/libwebsockets/lib/misc/base64-decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 264
      functionLinenumberEnd: 301
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          304
      EdgeCount:       44
      CyclomaticComplexity: 12
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_b64_decode_string_len
      functionSourceFile: '/src/libwebsockets/lib/misc/base64-decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 254
      functionLinenumberEnd: 257
      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:255,13'
          Dst:             _lws_b64_decode_string
    - functionName:    _lws_b64_decode_string
      functionSourceFile: '/src/libwebsockets/lib/misc/base64-decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 224
      functionLinenumberEnd: 244
      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:229,8'
          Dst:             strlen
        - Src:             'lib/misc/base64-decode.c:233,2'
          Dst:             lws_b64_decode_state_init
        - Src:             'lib/misc/base64-decode.c:234,6'
          Dst:             lws_b64_decode_stateful
        - Src:             'lib/misc/base64-decode.c:239,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: 211
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         129
      ICount:          741
      EdgeCount:       177
      CyclomaticComplexity: 50
      functionsReached:
        - _lws_log
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/base64-decode.c:146,6'
          Dst:             _lws_log
        - Src:             'lib/misc/base64-decode.c:151,6'
          Dst:             _lws_log
    - functionName:    lws_b64_decode_string
      functionSourceFile: '/src/libwebsockets/lib/misc/base64-decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 248
      functionLinenumberEnd: 249
      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:249,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: 307
      functionLinenumberEnd: 356
      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:308,2'
          Branch Sides:    []
        - Branch String:   'lib/misc/upng.c:310,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/upng.c:323,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/upng.c:332,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/upng.c:345,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: 733
      functionLinenumberEnd: 734
      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: 722
      functionLinenumberEnd: 728
      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:723,18'
          Dst:             lws_upng_get_bitdepth
        - Src:             'lib/misc/upng.c:724,5'
          Dst:             lws_upng_get_components
    - functionName:    lws_upng_get_bitdepth
      functionSourceFile: '/src/libwebsockets/lib/misc/upng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 716
      functionLinenumberEnd: 717
      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: 699
      functionLinenumberEnd: 712
      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:700,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    lws_upng_get_bpp
      functionSourceFile: '/src/libwebsockets/lib/misc/upng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 692
      functionLinenumberEnd: 694
      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:693,9'
          Dst:             lws_upng_get_bitdepth
        - Src:             'lib/misc/upng.c:694,4'
          Dst:             lws_upng_get_components
    - functionName:    lws_upng_get_height
      functionSourceFile: '/src/libwebsockets/lib/misc/upng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 686
      functionLinenumberEnd: 687
      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: 680
      functionLinenumberEnd: 681
      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: 670
      functionLinenumberEnd: 675
      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:672,3'
          Dst:             lws_realloc
        - Src:             'lib/misc/upng.c:674,2'
          Dst:             lws_realloc
    - functionName:    lws_upng_new
      functionSourceFile: '/src/libwebsockets/lib/misc/upng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 649
      functionLinenumberEnd: 666
      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:652,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: 362
      functionLinenumberEnd: 645
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         156
      ICount:          1286
      EdgeCount:       204
      CyclomaticComplexity: 50
      functionsReached:
        - _lws_log
        - _lws_upng_inflate_data
        - determine_format
        - lws_realloc
        - lws_upng_get_bpp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/upng.c:379,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/upng.c:562,5'
          Branch Sides:    []
        - Branch String:   'lib/misc/upng.c:589,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/upng.c:437,16'
          Dst:             determine_format
        - Src:             'lib/misc/upng.c:463,16'
          Dst:             lws_upng_get_bpp
        - Src:             'lib/misc/upng.c:493,6'
          Dst:             _lws_log
        - Src:             'lib/misc/upng.c:501,29'
          Dst:             lws_realloc
        - Src:             'lib/misc/upng.c:503,6'
          Dst:             _lws_log
        - Src:             'lib/misc/upng.c:588,8'
          Dst:             _lws_upng_inflate_data
        - Src:             'lib/misc/upng.c:634,3'
          Dst:             _lws_log
    - functionName:    lws_upng_emit_next_line
      functionSourceFile: '/src/libwebsockets/lib/misc/upng.c'
      linkageType:     InternalLinkage
      functionLinenumber: 230
      functionLinenumberEnd: 304
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         61
      ICount:          486
      EdgeCount:       80
      CyclomaticComplexity: 21
      functionsReached:
        - __assert_fail
        - lws_upng_decode
        - unfilter_scanline
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/upng.c:252,9'
          Dst:             lws_upng_decode
        - Src:             'lib/misc/upng.c:258,3'
          Dst:             __assert_fail
        - Src:             'lib/misc/upng.c:259,3'
          Dst:             __assert_fail
        - Src:             'lib/misc/upng.c:272,6'
          Dst:             unfilter_scanline
    - functionName:    convert_cr_tiny
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2185
      functionLinenumberEnd: 2201
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          103
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - add_clamp
        - clamp
        - sub_clamp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2189,15'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:2196,9'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2198,9'
          Dst:             sub_clamp
    - functionName:    clamp
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1676
      functionLinenumberEnd: 1684
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    add_clamp
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1844
      functionLinenumberEnd: 1854
      functionDepth:   0
      returnType:      char
      argCount:        2
      argTypes:
        - char
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    20
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sub_clamp
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1858
      functionLinenumberEnd: 1868
      functionDepth:   0
      returnType:      char
      argCount:        2
      argTypes:
        - char
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    20
      BranchProfiles:  []
      Callsites:       []
    - functionName:    convert_cb_tiny
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2165
      functionLinenumberEnd: 2181
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          103
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - add_clamp
        - clamp
        - sub_clamp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2169,15'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:2176,9'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:2178,9'
          Dst:             add_clamp
    - functionName:    copy_y_tiny
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2151
      functionLinenumberEnd: 2161
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          67
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - clamp
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2156,14'
          Dst:             clamp
    - functionName:    imul_b1_b3
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1634
      functionLinenumberEnd: 1638
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    imul_b2
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1645
      functionLinenumberEnd: 1649
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    imul_b4
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1656
      functionLinenumberEnd: 1660
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    imul_b5
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1667
      functionLinenumberEnd: 1671
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    upsample_cr
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1987
      functionLinenumberEnd: 2019
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          187
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - add_clamp
        - sub_clamp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2000,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2001,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2002,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2003,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2006,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:2007,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:2008,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:2009,12'
          Dst:             sub_clamp
    - functionName:    upsample_cb
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1880
      functionLinenumberEnd: 1912
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          187
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - add_clamp
        - sub_clamp
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1893,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1894,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1895,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1896,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1899,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:1900,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:1901,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:1902,12'
          Dst:             add_clamp
    - functionName:    upsample_crh
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2024
      functionLinenumberEnd: 2050
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          147
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - add_clamp
        - sub_clamp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2037,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2038,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2041,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:2042,12'
          Dst:             sub_clamp
    - functionName:    upsample_cbh
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1917
      functionLinenumberEnd: 1943
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          147
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - add_clamp
        - sub_clamp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1930,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1931,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1934,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:1935,12'
          Dst:             add_clamp
    - functionName:    upsample_crv
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2055
      functionLinenumberEnd: 2082
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          151
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - add_clamp
        - sub_clamp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2068,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2069,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2072,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:2073,12'
          Dst:             sub_clamp
    - functionName:    upsample_cbv
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1948
      functionLinenumberEnd: 1975
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          151
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - add_clamp
        - sub_clamp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1961,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1962,12'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:1965,12'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:1966,12'
          Dst:             add_clamp
    - functionName:    convert_cr
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2129
      functionLinenumberEnd: 2147
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          103
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - add_clamp
        - sub_clamp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2140,9'
          Dst:             add_clamp
        - Src:             'lib/misc/jpeg.c:2144,9'
          Dst:             sub_clamp
    - functionName:    convert_cb
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2106
      functionLinenumberEnd: 2124
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          103
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - add_clamp
        - sub_clamp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2117,9'
          Dst:             sub_clamp
        - Src:             'lib/misc/jpeg.c:2121,9'
          Dst:             add_clamp
    - functionName:    copy_y
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2087
      functionLinenumberEnd: 2101
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          81
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    idct_cols
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1765
      functionLinenumberEnd: 1840
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          459
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - clamp
        - imul_b1_b3
        - imul_b2
        - imul_b4
        - imul_b5
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1776,16'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1799,28'
          Dst:             imul_b5
        - Src:             'lib/misc/jpeg.c:1800,29'
          Dst:             imul_b4
        - Src:             'lib/misc/jpeg.c:1802,34'
          Dst:             imul_b2
        - Src:             'lib/misc/jpeg.c:1808,28'
          Dst:             imul_b1_b3
        - Src:             'lib/misc/jpeg.c:1821,27'
          Dst:             imul_b1_b3
        - Src:             'lib/misc/jpeg.c:1829,19'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1830,19'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1831,19'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1832,19'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1833,19'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1834,19'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1835,19'
          Dst:             clamp
        - Src:             'lib/misc/jpeg.c:1836,19'
          Dst:             clamp
    - functionName:    idct_rows
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1688
      functionLinenumberEnd: 1761
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          401
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - imul_b1_b3
        - imul_b2
        - imul_b4
        - imul_b5
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1721,28'
          Dst:             imul_b5
        - Src:             'lib/misc/jpeg.c:1722,29'
          Dst:             imul_b4
        - Src:             'lib/misc/jpeg.c:1724,34'
          Dst:             imul_b2
        - Src:             'lib/misc/jpeg.c:1730,28'
          Dst:             imul_b1_b3
        - Src:             'lib/misc/jpeg.c:1743,27'
          Dst:             imul_b1_b3
    - functionName:    get_extend_offset
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 486
      functionLinenumberEnd: 491
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          39
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_extend_test
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 477
      functionLinenumberEnd: 482
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          37
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_bit
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 450
      functionLinenumberEnd: 473
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          105
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - get_octet
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:459,7'
          Dst:             get_octet
    - functionName:    get_octet
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 337
      functionLinenumberEnd: 372
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          147
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log
        - get_char
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:342,7'
          Dst:             get_char
        - Src:             'lib/misc/jpeg.c:349,7'
          Dst:             get_char
        - Src:             'lib/misc/jpeg.c:358,4'
          Dst:             _lws_log
    - functionName:    get_char
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 318
      functionLinenumberEnd: 333
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          69
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    transform_block_tiny
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2205
      functionLinenumberEnd: 2282
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          173
      EdgeCount:       65
      CyclomaticComplexity: 32
      functionsReached:
        - convert_cb_tiny
        - convert_cr_tiny
        - copy_y_tiny
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:2206,2'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:2212,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:2226,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:2243,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:2260,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2208,3'
          Dst:             copy_y_tiny
        - Src:             'lib/misc/jpeg.c:2214,4'
          Dst:             copy_y_tiny
        - Src:             'lib/misc/jpeg.c:2217,4'
          Dst:             convert_cb_tiny
        - Src:             'lib/misc/jpeg.c:2220,4'
          Dst:             convert_cr_tiny
        - Src:             'lib/misc/jpeg.c:2228,4'
          Dst:             copy_y_tiny
        - Src:             'lib/misc/jpeg.c:2231,4'
          Dst:             copy_y_tiny
        - Src:             'lib/misc/jpeg.c:2234,4'
          Dst:             convert_cb_tiny
        - Src:             'lib/misc/jpeg.c:2237,4'
          Dst:             convert_cr_tiny
        - Src:             'lib/misc/jpeg.c:2245,4'
          Dst:             copy_y_tiny
        - Src:             'lib/misc/jpeg.c:2248,4'
          Dst:             copy_y_tiny
        - Src:             'lib/misc/jpeg.c:2251,4'
          Dst:             convert_cb_tiny
        - Src:             'lib/misc/jpeg.c:2254,4'
          Dst:             convert_cr_tiny
        - Src:             'lib/misc/jpeg.c:2262,4'
          Dst:             copy_y_tiny
        - Src:             'lib/misc/jpeg.c:2265,4'
          Dst:             copy_y_tiny
        - Src:             'lib/misc/jpeg.c:2268,4'
          Dst:             copy_y_tiny
        - Src:             'lib/misc/jpeg.c:2271,4'
          Dst:             copy_y_tiny
        - Src:             'lib/misc/jpeg.c:2274,4'
          Dst:             convert_cb_tiny
        - Src:             'lib/misc/jpeg.c:2277,4'
          Dst:             convert_cr_tiny
    - functionName:    transform_block
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2286
      functionLinenumberEnd: 2395
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          197
      EdgeCount:       65
      CyclomaticComplexity: 32
      functionsReached:
        - convert_cb
        - convert_cr
        - copy_y
        - idct_cols
        - idct_rows
        - upsample_cb
        - upsample_cbh
        - upsample_cbv
        - upsample_cr
        - upsample_crh
        - upsample_crv
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:2290,2'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:2298,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:2316,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:2339,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:2362,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2287,2'
          Dst:             idct_rows
        - Src:             'lib/misc/jpeg.c:2288,2'
          Dst:             idct_cols
        - Src:             'lib/misc/jpeg.c:2293,3'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2300,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2304,4'
          Dst:             convert_cb
        - Src:             'lib/misc/jpeg.c:2308,4'
          Dst:             convert_cr
        - Src:             'lib/misc/jpeg.c:2318,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2322,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2326,4'
          Dst:             upsample_cbv
        - Src:             'lib/misc/jpeg.c:2327,4'
          Dst:             upsample_cbv
        - Src:             'lib/misc/jpeg.c:2331,4'
          Dst:             upsample_crv
        - Src:             'lib/misc/jpeg.c:2332,4'
          Dst:             upsample_crv
        - Src:             'lib/misc/jpeg.c:2341,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2345,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2349,4'
          Dst:             upsample_cbh
        - Src:             'lib/misc/jpeg.c:2350,4'
          Dst:             upsample_cbh
        - Src:             'lib/misc/jpeg.c:2354,4'
          Dst:             upsample_crh
        - Src:             'lib/misc/jpeg.c:2355,4'
          Dst:             upsample_crh
        - Src:             'lib/misc/jpeg.c:2364,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2368,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2372,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2376,4'
          Dst:             copy_y
        - Src:             'lib/misc/jpeg.c:2380,4'
          Dst:             upsample_cb
        - Src:             'lib/misc/jpeg.c:2381,4'
          Dst:             upsample_cb
        - Src:             'lib/misc/jpeg.c:2382,4'
          Dst:             upsample_cb
        - Src:             'lib/misc/jpeg.c:2383,4'
          Dst:             upsample_cb
        - Src:             'lib/misc/jpeg.c:2387,4'
          Dst:             upsample_cr
        - Src:             'lib/misc/jpeg.c:2388,4'
          Dst:             upsample_cr
        - Src:             'lib/misc/jpeg.c:2389,4'
          Dst:             upsample_cr
        - Src:             'lib/misc/jpeg.c:2390,4'
          Dst:             upsample_cr
    - functionName:    huff_extend
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 495
      functionLinenumberEnd: 497
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - short
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - get_extend_offset
        - get_extend_test
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:496,25'
          Dst:             get_extend_test
        - Src:             'lib/misc/jpeg.c:497,9'
          Dst:             get_extend_offset
    - functionName:    huff_decode
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 502
      functionLinenumberEnd: 546
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          202
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - get_bit
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:507,7'
          Dst:             get_bit
        - Src:             'lib/misc/jpeg.c:529,7'
          Dst:             get_bit
    - functionName:    interval_restart
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1258
      functionLinenumberEnd: 1344
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         39
      ICount:          260
      EdgeCount:       49
      CyclomaticComplexity: 12
      functionsReached:
        - _lws_log
        - get_bits8
        - get_char
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:1262,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1265,8'
          Dst:             get_char
        - Src:             'lib/misc/jpeg.c:1277,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1288,8'
          Dst:             get_char
        - Src:             'lib/misc/jpeg.c:1299,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1306,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1327,7'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:1335,7'
          Dst:             get_bits8
    - functionName:    get_bits8
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 376
      functionLinenumberEnd: 400
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          148
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - get_octet
      functionUses:    32
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:383,7'
          Dst:             get_octet
    - functionName:    check_quant_tables
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1368
      functionLinenumberEnd: 1382
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          75
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1375,4'
          Dst:             _lws_log
    - functionName:    check_huff_tables
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1348
      functionLinenumberEnd: 1364
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          116
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1357,4'
          Dst:             _lws_log
    - functionName:    read_sos_marker
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 765
      functionLinenumberEnd: 897
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         65
      ICount:          495
      EdgeCount:       80
      CyclomaticComplexity: 17
      functionsReached:
        - _lws_log
        - get_bits16
        - get_bits8
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:769,2'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:802,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:771,7'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:781,7'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:791,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:804,9'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:812,9'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:823,6'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:843,7'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:852,7'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:861,7'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:870,7'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:882,8'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:894,2'
          Dst:             _lws_log
    - functionName:    get_bits16
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 404
      functionLinenumberEnd: 446
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          247
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - get_octet
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:409,2'
          Dst:             __assert_fail
        - Src:             'lib/misc/jpeg.c:414,7'
          Dst:             get_octet
        - Src:             'lib/misc/jpeg.c:428,7'
          Dst:             get_octet
    - functionName:    createWinogradQuant
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1609
      functionLinenumberEnd: 1621
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          52
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    huffCreate
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 550
      functionLinenumberEnd: 579
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          113
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_huff_value
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 602
      functionLinenumberEnd: 617
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          52
      EdgeCount:       12
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:605,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    get_huff_table
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 583
      functionLinenumberEnd: 598
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          48
      EdgeCount:       12
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:586,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    getMaxHuffCodes
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 621
      functionLinenumberEnd: 622
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_jpeg_get_pixelsize
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2946
      functionLinenumberEnd: 2947
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_jpeg_get_components
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2940
      functionLinenumberEnd: 2941
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_jpeg_get_bitdepth
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2934
      functionLinenumberEnd: 2935
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_jpeg_get_bpp
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2928
      functionLinenumberEnd: 2929
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_jpeg_get_height
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2922
      functionLinenumberEnd: 2923
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_jpeg_get_width
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2916
      functionLinenumberEnd: 2917
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_jpeg_mcu_next
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2399
      functionLinenumberEnd: 2669
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         155
      ICount:          1250
      EdgeCount:       203
      CyclomaticComplexity: 50
      functionsReached:
        - _lws_log
        - get_bits16
        - get_bits8
        - huff_decode
        - huff_extend
        - interval_restart
        - transform_block
        - transform_block_tiny
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:2439,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2407,5'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2408,9'
          Dst:             interval_restart
        - Src:             'lib/misc/jpeg.c:2441,8'
          Dst:             huff_decode
        - Src:             'lib/misc/jpeg.c:2466,10'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:2469,10'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:2477,19'
          Dst:             huff_extend
        - Src:             'lib/misc/jpeg.c:2497,11'
          Dst:             huff_decode
        - Src:             'lib/misc/jpeg.c:2514,12'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:2517,12'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:2530,9'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2544,8'
          Dst:             huff_extend
        - Src:             'lib/misc/jpeg.c:2551,8'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2570,5'
          Dst:             transform_block
        - Src:             'lib/misc/jpeg.c:2572,5'
          Dst:             transform_block_tiny
    - functionName:    init_scan
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1386
      functionLinenumberEnd: 1467
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         37
      ICount:          269
      EdgeCount:       46
      CyclomaticComplexity: 11
      functionsReached:
        - _lws_log
        - check_huff_tables
        - check_quant_tables
        - get_bits8
        - process_markers
        - read_sos_marker
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:1390,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1392,7'
          Dst:             process_markers
        - Src:             'lib/misc/jpeg.c:1397,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1403,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1413,7'
          Dst:             read_sos_marker
        - Src:             'lib/misc/jpeg.c:1422,7'
          Dst:             check_huff_tables
        - Src:             'lib/misc/jpeg.c:1426,7'
          Dst:             check_quant_tables
        - Src:             'lib/misc/jpeg.c:1450,7'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:1458,7'
          Dst:             get_bits8
    - functionName:    process_markers
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 903
      functionLinenumberEnd: 1253
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         175
      ICount:          1155
      EdgeCount:       214
      CyclomaticComplexity: 41
      functionsReached:
        - _lws_log
        - createWinogradQuant
        - getMaxHuffCodes
        - get_bits16
        - get_bits8
        - get_huff_table
        - get_huff_value
        - huffCreate
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:936,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:985,5'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:1069,4'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:1113,7'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:1176,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:913,11'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:923,10'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:963,9'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:968,6'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:987,10'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:993,7'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1009,11'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:1021,10'
          Dst:             getMaxHuffCodes
        - Src:             'lib/misc/jpeg.c:1022,7'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1032,11'
          Dst:             get_huff_table
        - Src:             'lib/misc/jpeg.c:1033,10'
          Dst:             get_huff_value
        - Src:             'lib/misc/jpeg.c:1036,11'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:1047,7'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1055,6'
          Dst:             huffCreate
        - Src:             'lib/misc/jpeg.c:1063,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1071,9'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:1076,6'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1094,11'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:1098,8'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1115,12'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:1127,13'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:1151,6'
          Dst:             createWinogradQuant
        - Src:             'lib/misc/jpeg.c:1161,7'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1178,9'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:1182,6'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1191,9'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:1211,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1220,9'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:1224,6'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1237,9'
          Dst:             get_bits8
    - functionName:    init_frame
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1471
      functionLinenumberEnd: 1585
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         58
      ICount:          520
      EdgeCount:       76
      CyclomaticComplexity: 20
      functionsReached:
        - _lws_log
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:1472,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:1475,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1492,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:1560,3'
          Dst:             _lws_log
    - functionName:    read_sof_marker
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 630
      functionLinenumberEnd: 760
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         64
      ICount:          453
      EdgeCount:       80
      CyclomaticComplexity: 18
      functionsReached:
        - _lws_log
        - get_bits16
        - get_bits8
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:634,2'
          Branch Sides:    []
        - Branch String:   'lib/misc/jpeg.c:713,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:636,7'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:645,7'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:650,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:659,7'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:664,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:673,7'
          Dst:             get_bits16
        - Src:             'lib/misc/jpeg.c:678,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:682,3'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:689,7'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:694,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:700,4'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:715,9'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:724,9'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:733,9'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:742,9'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:747,6'
          Dst:             _lws_log
    - functionName:    lws_jpeg_emit_next_line
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2692
      functionLinenumberEnd: 2912
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         97
      ICount:          698
      EdgeCount:       127
      CyclomaticComplexity: 32
      functionsReached:
        - _lws_log
        - get_bits8
        - init_frame
        - init_scan
        - lws_jpeg_mcu_next
        - lws_zalloc
        - process_markers
        - read_sof_marker
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/misc/jpeg.c:2701,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2705,8'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:2713,8'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:2732,9'
          Dst:             get_bits8
        - Src:             'lib/misc/jpeg.c:2737,6'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2747,7'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2752,6'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2765,5'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2776,8'
          Dst:             process_markers
        - Src:             'lib/misc/jpeg.c:2781,5'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2792,8'
          Dst:             read_sof_marker
        - Src:             'lib/misc/jpeg.c:2807,8'
          Dst:             init_frame
        - Src:             'lib/misc/jpeg.c:2817,8'
          Dst:             init_scan
        - Src:             'lib/misc/jpeg.c:2847,15'
          Dst:             lws_zalloc
        - Src:             'lib/misc/jpeg.c:2849,5'
          Dst:             _lws_log
        - Src:             'lib/misc/jpeg.c:2874,8'
          Dst:             lws_jpeg_mcu_next
    - functionName:    lws_jpeg_free
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2684
      functionLinenumberEnd: 2687
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2685,2'
          Dst:             lws_realloc
        - Src:             'lib/misc/jpeg.c:2686,2'
          Dst:             lws_realloc
    - functionName:    lws_jpeg_new
      functionSourceFile: '/src/libwebsockets/lib/misc/jpeg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2673
      functionLinenumberEnd: 2680
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_zalloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/jpeg.c:2674,18'
          Dst:             lws_zalloc
    - functionName:    fillentry_bitcount
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-font-mcufont.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 107
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          63
      EdgeCount:       16
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    write_ref_codeword
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-font-mcufont.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 186
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          214
      EdgeCount:       19
      CyclomaticComplexity: 7
      functionsReached:
        - fillentry_bitcount
        - lws_ser_ru16be
        - lws_ser_ru32be
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:170,23'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:172,8'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:173,7'
          Dst:             lws_ser_ru16be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:174,43'
          Dst:             lws_ser_ru16be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:177,33'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:182,33'
          Dst:             fillentry_bitcount
    - functionName:    mcufont_next_code
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-font-mcufont.c'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          147
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_ser_ru16be
        - lws_ser_ru32be
        - write_ref_codeword
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:197,23'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:198,24'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:199,3'
          Dst:             write_ref_codeword
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:205,7'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:206,6'
          Dst:             lws_ser_ru16be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:207,42'
          Dst:             lws_ser_ru16be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:210,32'
          Dst:             lws_ser_ru32be
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_display_font_mcufont_render
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-font-mcufont.c'
      linkageType:     InternalLinkage
      functionLinenumber: 333
      functionLinenumberEnd: 528
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         83
      ICount:          854
      EdgeCount:       104
      CyclomaticComplexity: 23
      functionsReached:
        - __assert_fail
        - draw_px
        - lws_display_dlo_text_attach_glyphs
        - lws_dll2_get_head
        - lws_fx_add
        - lws_fx_roundup
        - lws_fx_sub
        - lws_ser_ru16be
        - mcufont_next_code
        - write_ref_codeword
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/misc/dlo/dlo-font-mcufont.c:401,4'
          Branch Sides:    []
        - Branch String:   'lib/misc/dlo/dlo-font-mcufont.c:403,5'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:342,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:343,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:344,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:345,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:347,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:354,6'
          Dst:             lws_fx_roundup
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:368,3'
          Dst:             lws_display_dlo_text_attach_glyphs
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:370,14'
          Dst:             lws_ser_ru16be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:372,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:375,4'
          Dst:             lws_fx_sub
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:392,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:400,18'
          Dst:             lws_ser_ru16be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:405,6'
          Dst:             mcufont_next_code
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:444,7'
          Dst:             __assert_fail
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:460,8'
          Dst:             __assert_fail
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:491,8'
          Dst:             __assert_fail
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:496,6'
          Dst:             write_ref_codeword
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:509,6'
          Dst:             draw_px
    - functionName:    draw_px
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-font-mcufont.c'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 142
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          102
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - lws_fx_add
        - lws_surface_set_px
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:123,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:138,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:140,2'
          Dst:             lws_fx_add
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:141,2'
          Dst:             lws_surface_set_px
    - functionName:    font_mcufont_uniglyph
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-font-mcufont.c'
      linkageType:     InternalLinkage
      functionLinenumber: 261
      functionLinenumberEnd: 283
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          92
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - font_mcufont_uniglyph_lookup
        - lws_dll2_add_tail
        - lwsac_use_zero
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:266,8'
          Dst:             font_mcufont_uniglyph_lookup
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:271,6'
          Dst:             lwsac_use_zero
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:280,2'
          Dst:             lws_dll2_add_tail
    - functionName:    font_mcufont_uniglyph_lookup
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-font-mcufont.c'
      linkageType:     InternalLinkage
      functionLinenumber: 218
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          206
      EdgeCount:       43
      CyclomaticComplexity: 13
      functionsReached:
        - lws_ser_ru16be
        - lws_ser_ru32be
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:220,20'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:221,21'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:229,18'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:229,46'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:235,20'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:241,7'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:240,12'
          Dst:             lws_ser_ru16be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:252,18'
          Dst:             lws_ser_ru32be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:254,13'
          Dst:             lws_ser_ru32be
    - functionName:    lws_display_font_mcufont_image_glyph
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-font-mcufont.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 329
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          113
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - font_mcufont_uniglyph
        - lws_display_font_mcufont_getcwidth
        - lws_ser_ru16be
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:310,32'
          Dst:             lws_ser_ru16be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:312,8'
          Dst:             lws_ser_ru16be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:313,37'
          Dst:             lws_ser_ru16be
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:316,2'
          Dst:             lws_display_font_mcufont_getcwidth
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:321,6'
          Dst:             font_mcufont_uniglyph
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:325,23'
          Dst:             lws_ser_ru16be
    - functionName:    lws_display_font_mcufont_getcwidth
      functionSourceFile: '/src/libwebsockets/lib/misc/dlo/dlo-font-mcufont.c'
      linkageType:     InternalLinkage
      functionLinenumber: 288
      functionLinenumberEnd: 299
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          57
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - font_mcufont_uniglyph_lookup
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:290,17'
          Dst:             font_mcufont_uniglyph_lookup
    - functionName:    lws_plugin_alloc
      functionSourceFile: '/src/libwebsockets/lib/misc/dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 354
      functionLinenumberEnd: 364
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_realloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dir.c:355,27'
          Dst:             lws_realloc
    - functionName:    lws_dir_rm_rf_cb
      functionSourceFile: '/src/libwebsockets/lib/misc/dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 347
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          126
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - __errno_location
        - _lws_log
        - lws_dir
        - lws_dir_rm_rf_cb
        - lws_snprintf
        - readlink
        - rmdir
        - strcmp
        - unlink
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dir.c:307,7'
          Dst:             strcmp
        - Src:             'lib/misc/dir.c:307,34'
          Dst:             strcmp
        - Src:             'lib/misc/dir.c:310,2'
          Dst:             lws_snprintf
        - Src:             'lib/misc/dir.c:327,7'
          Dst:             readlink
        - Src:             'lib/misc/dir.c:329,4'
          Dst:             lws_dir
        - Src:             'lib/misc/dir.c:329,4'
          Dst:             lws_dir_rm_rf_cb
        - Src:             'lib/misc/dir.c:331,7'
          Dst:             rmdir
        - Src:             'lib/misc/dir.c:332,4'
          Dst:             __errno_location
        - Src:             'lib/misc/dir.c:332,4'
          Dst:             _lws_log
        - Src:             'lib/misc/dir.c:334,7'
          Dst:             unlink
        - Src:             'lib/misc/dir.c:339,8'
          Dst:             rmdir
        - Src:             'lib/misc/dir.c:341,4'
          Dst:             __errno_location
        - Src:             'lib/misc/dir.c:341,4'
          Dst:             _lws_log
    - functionName:    lws_dir
      functionSourceFile: '/src/libwebsockets/lib/misc/dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dir_via_info
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dir.c:219,9'
          Dst:             lws_dir_via_info
    - functionName:    rmdir
      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_dir_via_info
      functionSourceFile: '/src/libwebsockets/lib/misc/dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 206
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         31
      ICount:          227
      EdgeCount:       38
      CyclomaticComplexity: 9
      functionsReached:
        - __assert_fail
        - __errno_location
        - _fill_lde
        - _lws_log
        - alphasort
        - filter
        - lws_dir_via_stat
        - lws_snprintf
        - scandir
        - strchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dir.c:162,2'
          Dst:             __assert_fail
        - Src:             'lib/misc/dir.c:163,2'
          Dst:             __assert_fail
        - Src:             'lib/misc/dir.c:165,23'
          Dst:             lws_snprintf
        - Src:             'lib/misc/dir.c:169,6'
          Dst:             scandir
        - Src:             'lib/misc/dir.c:169,6'
          Dst:             filter
        - Src:             'lib/misc/dir.c:169,6'
          Dst:             alphasort
        - Src:             'lib/misc/dir.c:171,3'
          Dst:             __errno_location
        - Src:             'lib/misc/dir.c:171,3'
          Dst:             _lws_log
        - Src:             'lib/misc/dir.c:179,15'
          Dst:             strchr
        - Src:             'lib/misc/dir.c:182,3'
          Dst:             _fill_lde
        - Src:             'lib/misc/dir.c:196,3'
          Dst:             lws_dir_via_stat
    - functionName:    filter
      functionSourceFile: '/src/libwebsockets/lib/misc/dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          44
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dir.c:64,7'
          Dst:             strcmp
        - Src:             'lib/misc/dir.c:64,36'
          Dst:             strcmp
    - functionName:    alphasort
      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:    scandir
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _fill_lde
      functionSourceFile: '/src/libwebsockets/lib/misc/dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          120
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - lws_dir_via_stat
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dir.c:147,3'
          Dst:             lws_dir_via_stat
    - functionName:    lws_dir_via_stat
      functionSourceFile: '/src/libwebsockets/lib/misc/dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 112
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          92
      EdgeCount:       14
      CyclomaticComplexity: 2
      functionsReached:
        - lws_strncpy
        - stat
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/misc/dir.c:87,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/dir.c:82,9'
          Dst:             lws_strncpy
        - Src:             'lib/misc/dir.c:86,14'
          Dst:             stat
    - functionName:    lws_dir_glob_check
      functionSourceFile: '/src/libwebsockets/lib/misc/dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 230
      functionLinenumberEnd: 244
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          75
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dir.c:233,9'
          Dst:             strcmp
    - functionName:    lws_dir_glob_cb
      functionSourceFile: '/src/libwebsockets/lib/misc/dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 283
      functionLinenumberEnd: 300
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          96
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - lws_dir_glob_check
        - lws_snprintf
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dir.c:287,7'
          Dst:             strcmp
        - Src:             'lib/misc/dir.c:287,34'
          Dst:             strcmp
        - Src:             'lib/misc/dir.c:293,6'
          Dst:             lws_dir_glob_check
        - Src:             'lib/misc/dir.c:294,3'
          Dst:             lws_snprintf
    - functionName:    lws_dir_du_cb
      functionSourceFile: '/src/libwebsockets/lib/misc/dir.c'
      linkageType:     InternalLinkage
      functionLinenumber: 248
      functionLinenumberEnd: 275
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          112
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - _lws_log
        - lws_dir
        - lws_dir_du_cb
        - lws_snprintf
        - stat
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dir.c:253,7'
          Dst:             strcmp
        - Src:             'lib/misc/dir.c:253,34'
          Dst:             strcmp
        - Src:             'lib/misc/dir.c:256,2'
          Dst:             lws_snprintf
        - Src:             'lib/misc/dir.c:259,3'
          Dst:             lws_dir
        - Src:             'lib/misc/dir.c:259,3'
          Dst:             lws_dir_du_cb
        - Src:             'lib/misc/dir.c:265,7'
          Dst:             stat
        - Src:             'lib/misc/dir.c:266,4'
          Dst:             __errno_location
        - Src:             'lib/misc/dir.c:266,4'
          Dst:             _lws_log
    - 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: 984
      functionLinenumberEnd: 1015
      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:996,16'
          Dst:             lwsac_use
        - Src:             'lib/misc/lejp.c:1001,7'
          Dst:             lwsac_use_zero
    - functionName:    lejp_string_unify
      functionSourceFile: '/src/libwebsockets/lib/misc/lejp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 961
      functionLinenumberEnd: 980
      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:967,15'
          Dst:             lwsac_use
    - functionName:    lejp_error_to_string
      functionSourceFile: '/src/libwebsockets/lib/misc/lejp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 947
      functionLinenumberEnd: 957
      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: 903
      functionLinenumberEnd: 928
      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:909,2'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:922,2'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:924,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: 932
      functionLinenumberEnd: 943
      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:937,2'
          Dst:             _lws_log
        - Src:             'lib/misc/lejp.c:940,2'
          Dst:             lejp_check_path_match
    - functionName:    lejp_parse
      functionSourceFile: '/src/libwebsockets/lib/misc/lejp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 898
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         401
      ICount:          3336
      EdgeCount:       541
      CyclomaticComplexity: 142
      functionsReached:
        - lejp_check_path_match
        - lejp_parser_pop
      functionUses:    4
      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:786,4'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:795,5'
          Dst:             lejp_parser_pop
        - Src:             'lib/misc/lejp.c:810,5'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:817,4'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:821,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:    4
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_system_policy_free
      functionSourceFile: '/src/libwebsockets/lib/system/policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 197
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          65
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/policy.c:188,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/system/policy.c:192,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/system/policy.c:193,3'
          Dst:             lws_realloc
        - Src:             'lib/system/policy.c:196,2'
          Dst:             lws_realloc
    - functionName:    policy_cb
      functionSourceFile: '/src/libwebsockets/lib/system/policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      char
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          129
      EdgeCount:       26
      CyclomaticComplexity: 6
      functionsReached:
        - lws_dll2_add_tail
        - lws_strncpy
        - lws_zalloc
        - strcmp
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/system/policy.c:65,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/system/policy.c:61,18'
          Dst:             strcmp
        - Src:             'lib/system/policy.c:62,23'
          Dst:             strcmp
        - Src:             'lib/system/policy.c:67,4'
          Dst:             lws_strncpy
        - Src:             'lib/system/policy.c:70,8'
          Dst:             lws_zalloc
        - Src:             'lib/system/policy.c:73,4'
          Dst:             lws_strncpy
        - Src:             'lib/system/policy.c:74,4'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_system_parse_policy
      functionSourceFile: '/src/libwebsockets/lib/system/policy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 91
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         53
      ICount:          270
      EdgeCount:       70
      CyclomaticComplexity: 19
      functionsReached:
        - _lws_log
        - close
        - lejp_construct
        - lejp_destruct
        - lejp_parse
        - lws_open
        - lws_strncpy
        - lws_system_policy_free
        - lws_zalloc
        - mkdir
        - policy_cb
        - read
        - strlen
        - strrchr
        - write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/policy.c:100,7'
          Dst:             lws_open
        - Src:             'lib/system/policy.c:103,20'
          Dst:             strrchr
        - Src:             'lib/system/policy.c:106,4'
          Dst:             lws_strncpy
        - Src:             'lib/system/policy.c:108,8'
          Dst:             mkdir
        - Src:             'lib/system/policy.c:109,5'
          Dst:             _lws_log
        - Src:             'lib/system/policy.c:112,8'
          Dst:             lws_open
        - Src:             'lib/system/policy.c:114,39'
          Dst:             strlen
        - Src:             'lib/system/policy.c:114,13'
          Dst:             write
        - Src:             'lib/system/policy.c:115,4'
          Dst:             close
        - Src:             'lib/system/policy.c:117,18'
          Dst:             strlen
        - Src:             'lib/system/policy.c:118,10'
          Dst:             lws_open
        - Src:             'lib/system/policy.c:122,6'
          Dst:             lws_zalloc
        - Src:             'lib/system/policy.c:125,4'
          Dst:             close
        - Src:             'lib/system/policy.c:130,2'
          Dst:             lejp_construct
        - Src:             'lib/system/policy.c:130,2'
          Dst:             policy_cb
        - Src:             'lib/system/policy.c:134,56'
          Dst:             strlen
        - Src:             'lib/system/policy.c:134,7'
          Dst:             lejp_parse
        - Src:             'lib/system/policy.c:141,12'
          Dst:             read
        - Src:             'lib/system/policy.c:147,7'
          Dst:             lejp_parse
        - Src:             'lib/system/policy.c:155,3'
          Dst:             close
        - Src:             'lib/system/policy.c:156,2'
          Dst:             lejp_destruct
        - Src:             'lib/system/policy.c:163,3'
          Dst:             close
        - Src:             'lib/system/policy.c:164,2'
          Dst:             lejp_destruct
        - Src:             'lib/system/policy.c:165,2'
          Dst:             lws_system_policy_free
    - functionName:    mkdir
      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:    lws_callback_http_dummy
      functionSourceFile: '/src/libwebsockets/lib/core-net/dummy-callback.c'
      linkageType:     InternalLinkage
      functionLinenumber: 370
      functionLinenumberEnd: 1014
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          135
      EdgeCount:       28
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log_cx
        - lws_http_transaction_completed
        - lws_log_prepend_wsi
        - lws_return_http_status
        - lws_write
        - lwsl_wsi_get_cx
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib/core-net/dummy-callback.c:384,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/dummy-callback.c:388,7'
          Dst:             lws_return_http_status
        - Src:             'lib/core-net/dummy-callback.c:391,7'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/core-net/dummy-callback.c:405,7'
          Dst:             lws_return_http_status
        - Src:             'lib/core-net/dummy-callback.c:411,7'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/core-net/dummy-callback.c:565,4'
          Dst:             lws_write
        - Src:             'lib/core-net/dummy-callback.c:567,8'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/core-net/dummy-callback.c:994,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/dummy-callback.c:994,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/dummy-callback.c:994,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_ssl_pending_no_ssl
      functionSourceFile: '/src/libwebsockets/lib/core-net/output.c'
      linkageType:     InternalLinkage
      functionLinenumber: 397
      functionLinenumberEnd: 402
      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: 323
      functionLinenumberEnd: 393
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          223
      EdgeCount:       41
      CyclomaticComplexity: 12
      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:342,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/output.c:343,13'
          Dst:             sendto
        - Src:             'lib/core-net/output.c:347,13'
          Dst:             sendto
        - Src:             'lib/core-net/output.c:351,16'
          Dst:             __errno_location
        - Src:             'lib/core-net/output.c:352,13'
          Dst:             sendto
        - Src:             'lib/core-net/output.c:357,13'
          Dst:             write
        - Src:             'lib/core-net/output.c:360,13'
          Dst:             send
        - Src:             'lib/core-net/output.c:379,6'
          Dst:             __errno_location
        - Src:             'lib/core-net/output.c:380,6'
          Dst:             __errno_location
        - Src:             'lib/core-net/output.c:381,6'
          Dst:             __errno_location
        - Src:             'lib/core-net/output.c:382,7'
          Dst:             __errno_location
        - Src:             'lib/core-net/output.c:389,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:389,2'
          Dst:             __errno_location
        - Src:             'lib/core-net/output.c:389,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:389,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_ssl_capable_read_no_ssl
      functionSourceFile: '/src/libwebsockets/lib/core-net/output.c'
      linkageType:     InternalLinkage
      functionLinenumber: 253
      functionLinenumberEnd: 319
      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:256,2'
          Dst:             __errno_location
        - Src:             'lib/core-net/output.c:266,12'
          Dst:             recvfrom
        - Src:             'lib/core-net/output.c:271,12'
          Dst:             recv
        - Src:             'lib/core-net/output.c:283,7'
          Dst:             __errno_location
        - Src:             'lib/core-net/output.c:316,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:316,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:316,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    recvfrom
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - int
        - 'N/A'
        - size_t
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_write
      functionSourceFile: '/src/libwebsockets/lib/core-net/output.c'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 249
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          123
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_issue_raw
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    23
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/output.c:221,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:221,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:221,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/output.c:230,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/output.c:235,7'
          Dst:             lws_issue_raw
    - functionName:    lws_issue_raw
      functionSourceFile: '/src/libwebsockets/lib/core-net/output.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         74
      ICount:          504
      EdgeCount:       98
      CyclomaticComplexity: 26
      functionsReached:
        - _lws_log_cx
        - lws_buflist_append_segment
        - lws_buflist_next_segment_len
        - lws_buflist_use_segment
        - lws_callback_on_writable
        - lws_get_context
        - lws_has_buffered_out
        - lws_http_transaction_completed
        - lws_log_prepend_wsi
        - lws_ssl_capable_write
        - lwsl_wsi_get_cx
      functionUses:    13
      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:136,6'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/output.c:138,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:138,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:138,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/output.c:140,4'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/core-net/output.c:143,8'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/output.c:144,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:144,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:144,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/output.c:148,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:148,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:148,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/output.c:160,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:160,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:160,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/output.c:163,12'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/core-net/output.c:175,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/output.c:195,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/output.c:195,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/output.c:195,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/output.c:198,6'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core-net/output.c:209,2'
          Dst:             lws_callback_on_writable
    - functionName:    lws_routing_table_get
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 411
      functionLinenumberEnd: 412
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _lws_route_pt_close_unroutable
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 345
      functionLinenumberEnd: 374
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          117
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log_cx
        - _lws_route_check_wsi
        - _lws_routing_table_dump
        - lws_log_prepend_context
        - lws_log_prepend_wsi
        - lws_set_timeout
        - lwsl_context_get_cx
        - lwsl_wsi_get_cx
        - wsi_from_fd
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:357,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:357,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:357,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/route.c:359,2'
          Dst:             _lws_routing_table_dump
        - Src:             'lib/core-net/route.c:363,9'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/route.c:367,7'
          Dst:             _lws_route_check_wsi
        - Src:             'lib/core-net/route.c:368,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/route.c:368,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:368,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/route.c:369,4'
          Dst:             lws_set_timeout
    - functionName:    _lws_routing_table_dump
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          45
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log_cx
        - _lws_routing_entry_dump
        - lws_dll2_get_head
        - lws_log_prepend_context
        - lwsl_context_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:74,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:74,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:74,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/route.c:75,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/route.c:79,3'
          Dst:             _lws_routing_entry_dump
    - functionName:    _lws_route_check_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 299
      functionLinenumberEnd: 341
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          138
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - _lws_log_cx
        - _lws_route_est_outgoing
        - _lws_route_find_source
        - lws_log_prepend_wsi
        - lws_sa46_write_numeric_address
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:315,7'
          Dst:             _lws_route_est_outgoing
        - Src:             'lib/core-net/route.c:317,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/route.c:317,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:317,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/route.c:323,2'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/route.c:329,7'
          Dst:             _lws_route_find_source
        - Src:             'lib/core-net/route.c:331,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/route.c:333,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/route.c:333,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:333,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/route.c:338,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/route.c:338,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:338,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    _lws_route_est_outgoing
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          216
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - _lws_log_cx
        - lws_dll2_get_head
        - lws_log_prepend_context
        - lws_sa46_on_net
        - lwsl_context_get_cx
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:208,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:208,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:208,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/route.c:220,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/route.c:227,8'
          Dst:             lws_sa46_on_net
        - Src:             'lib/core-net/route.c:235,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:235,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:235,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/route.c:253,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:253,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:253,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/route.c:266,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:266,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:266,2'
          Dst:             lws_log_prepend_context
    - functionName:    _lws_route_find_source
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 278
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          75
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - lws_dll2_get_head
        - lws_sa46_compare_ads
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:279,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/route.c:286,8'
          Dst:             lws_sa46_compare_ads
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _lws_routing_entry_dump
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          148
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_context
        - lws_sa46_write_numeric_address
        - lws_snprintf
        - lwsl_context_get_cx
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:47,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/route.c:48,7'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/route.c:54,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/route.c:55,7'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/route.c:61,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/route.c:62,7'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/route.c:67,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:67,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:67,2'
          Dst:             lws_log_prepend_context
    - functionName:    _lws_route_table_ifdown
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 187
      functionLinenumberEnd: 198
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          75
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:188,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/route.c:193,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/route.c:194,4'
          Dst:             lws_realloc
    - functionName:    _lws_route_table_empty
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 183
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          68
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:175,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/route.c:179,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/route.c:180,3'
          Dst:             lws_realloc
    - functionName:    _lws_route_pt_close_route_users
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 379
      functionLinenumberEnd: 406
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          147
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_context
        - lws_log_prepend_wsi
        - lws_set_timeout
        - lwsl_context_get_cx
        - lwsl_wsi_get_cx
        - wsi_from_fd
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:386,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:386,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:386,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/route.c:389,9'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/route.c:400,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/route.c:400,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:400,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/route.c:401,4'
          Dst:             lws_set_timeout
    - functionName:    _lws_route_remove
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 165
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          207
      EdgeCount:       47
      CyclomaticComplexity: 14
      functionsReached:
        - _lws_log_cx
        - _lws_route_pt_close_route_users
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_log_prepend_context
        - lws_realloc
        - lws_sa46_compare_ads
        - lwsl_context_get_cx
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:144,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/route.c:148,37'
          Dst:             lws_sa46_compare_ads
        - Src:             'lib/core-net/route.c:149,37'
          Dst:             lws_sa46_compare_ads
        - Src:             'lib/core-net/route.c:151,9'
          Dst:             lws_sa46_compare_ads
        - Src:             'lib/core-net/route.c:157,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:157,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:157,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/route.c:158,4'
          Dst:             _lws_route_pt_close_route_users
        - Src:             'lib/core-net/route.c:159,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/route.c:160,4'
          Dst:             lws_realloc
    - functionName:    _lws_route_get_uidx
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         25
      ICount:          146
      EdgeCount:       31
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:118,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/route.c:128,6'
          Dst:             __assert_fail
    - functionName:    lws_cookie_parse_nsc
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 310
      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:260,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/cookie.c:252,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:296,5'
          Dst:             _lws_log
    - functionName:    lws_cookie_parse_date
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 178
      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:105,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/cookie.c:101,7'
          Dst:             __ctype_b_loc
        - Src:             'lib/roles/http/cookie.c:108,20'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:111,19'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:114,19'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:126,20'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:133,20'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:154,20'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:172,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: 222
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          140
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_cookie_domain_len
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 90
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          88
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - strchr
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/cookie.c:80,15'
          Dst:             strchr
        - Src:             'lib/roles/http/cookie.c:84,15'
          Dst:             strchr
        - Src:             'lib/roles/http/cookie.c:89,9'
          Dst:             strlen
    - functionName:    lws_cookie_attach_cookies
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 471
      functionLinenumberEnd: 631
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         83
      ICount:          544
      EdgeCount:       112
      CyclomaticComplexity: 31
      functionsReached:
        - _lws_log
        - lws_cache_item_get
        - lws_cache_lookup
        - lws_cache_results_walk
        - lws_cookie_domain_len
        - lws_cookie_parse_nsc
        - lws_get_network_wsi
        - lws_hdr_simple_ptr
        - lws_realloc
        - memchr
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/cookie.c:493,4'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/http/cookie.c:501,16'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/cookie.c:504,17'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/cookie.c:506,14'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/cookie.c:518,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:526,13'
          Dst:             strlen
        - Src:             'lib/roles/http/cookie.c:529,20'
          Dst:             memchr
        - Src:             'lib/roles/http/cookie.c:540,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:551,16'
          Dst:             lws_cookie_domain_len
        - Src:             'lib/roles/http/cookie.c:552,23'
          Dst:             memchr
        - Src:             'lib/roles/http/cookie.c:558,16'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/cookie.c:576,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:578,8'
          Dst:             lws_cache_lookup
        - Src:             'lib/roles/http/cookie.c:581,12'
          Dst:             lws_cache_results_walk
        - Src:             'lib/roles/http/cookie.c:582,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:585,9'
          Dst:             lws_cache_item_get
        - Src:             'lib/roles/http/cookie.c:587,6'
          Dst:             lws_cookie_parse_nsc
        - Src:             'lib/roles/http/cookie.c:588,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:594,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:622,3'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/cookie.c:628,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: 801
      functionLinenumberEnd: 854
      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:808,9'
          Dst:             lws_cookie_attach_cookies
        - Src:             'lib/roles/http/cookie.c:813,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:817,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:823,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/cookie.c:833,6'
          Dst:             lws_wsi_is_h2
        - Src:             'lib/roles/http/cookie.c:843,6'
          Dst:             lws_cookie_attach_cookies
        - Src:             'lib/roles/http/cookie.c:844,3'
          Dst:             _lws_log
    - functionName:    lws_cookie_write_nsc
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 314
      functionLinenumberEnd: 467
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         70
      ICount:          561
      EdgeCount:       95
      CyclomaticComplexity: 27
      functionsReached:
        - _lws_log
        - lws_cache_item_remove
        - lws_cache_write_through
        - lws_cookie_compile_cache_name
        - lws_cookie_domain_len
        - lws_cookie_parse_date
        - lws_get_network_wsi
        - lws_hdr_simple_ptr
        - lws_now_usecs
        - lws_realloc
        - lws_snprintf
        - memchr
        - strlen
        - time
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/cookie.c:324,17'
          Dst:             time
        - Src:             'lib/roles/http/cookie.c:335,36'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/http/cookie.c:340,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/cookie.c:342,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/cookie.c:343,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/cookie.c:349,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:360,21'
          Dst:             lws_cookie_domain_len
        - Src:             'lib/roles/http/cookie.c:365,19'
          Dst:             strlen
        - Src:             'lib/roles/http/cookie.c:366,16'
          Dst:             memchr
        - Src:             'lib/roles/http/cookie.c:372,15'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/cookie.c:376,6'
          Dst:             lws_cookie_compile_cache_name
        - Src:             'lib/roles/http/cookie.c:382,6'
          Dst:             lws_cookie_parse_date
        - Src:             'lib/roles/http/cookie.c:383,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:389,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:393,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:402,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:403,9'
          Dst:             lws_cache_item_remove
        - Src:             'lib/roles/http/cookie.c:409,26'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/cookie.c:411,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:416,2'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/cookie.c:425,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:426,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:433,15'
          Dst:             lws_now_usecs
        - Src:             'lib/roles/http/cookie.c:440,6'
          Dst:             strlen
        - Src:             'lib/roles/http/cookie.c:438,6'
          Dst:             lws_cache_write_through
        - Src:             'lib/roles/http/cookie.c:463,2'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/cookie.c:464,2'
          Dst:             lws_realloc
    - functionName:    is_iprefix
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 208
      functionLinenumberEnd: 218
      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: 182
      functionLinenumberEnd: 204
      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:187,3'
          Dst:             _lws_log
    - functionName:    lws_parse_set_cookie
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 655
      functionLinenumberEnd: 797
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         78
      ICount:          630
      EdgeCount:       106
      CyclomaticComplexity: 30
      functionsReached:
        - _lws_log
        - is_iprefix
        - lws_cookie_rm_sws
        - lws_cookie_write_nsc
        - memchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/cookie.c:689,21'
          Dst:             memchr
        - Src:             'lib/roles/http/cookie.c:713,17'
          Dst:             memchr
        - Src:             'lib/roles/http/cookie.c:720,4'
          Dst:             lws_cookie_rm_sws
        - Src:             'lib/roles/http/cookie.c:725,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:732,4'
          Dst:             lws_cookie_rm_sws
        - Src:             'lib/roles/http/cookie.c:737,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:754,10'
          Dst:             is_iprefix
        - Src:             'lib/roles/http/cookie.c:772,6'
          Dst:             lws_cookie_rm_sws
        - Src:             'lib/roles/http/cookie.c:784,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:792,7'
          Dst:             lws_cookie_write_nsc
        - Src:             'lib/roles/http/cookie.c:793,4'
          Dst:             _lws_log
    - functionName:    lws_tls_session_tag_from_wsi
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-sessions.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          97
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log
        - lws_tls_session_tag_discrete
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-sessions.c:62,2'
          Dst:             lws_tls_session_tag_discrete
        - Src:             'lib/tls/tls-sessions.c:65,2'
          Dst:             _lws_log
    - 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
...
