---
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:    172
      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:    47
      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:    246
      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:    17
      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:    548
      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:    176
      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:    138
      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:    1182
      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:    13
      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:    84
      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:    64
      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:    22
      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_dll2_owner
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 320
      functionLinenumberEnd: 320
      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_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:          90
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_dll2_count
        - lws_dll2_owner
        - 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:179,7'
          Dst:             lws_dll2_owner
        - 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_dll2_owner
        - Src:             'lib/core/logs.c:192,2'
          Dst:             lws_dll2_count
        - 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:    lws_dll2_count
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - 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:          262
      EdgeCount:       31
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - _lws_log_cx
        - lws_dll2_add_tail
        - lws_dll2_count
        - lws_log_prepend_context
        - lws_now_usecs
        - lws_snprintf
        - lwsl_context_get_cx
        - lwsl_refcount_cx
        - strchr
        - strlen
        - vsnprintf
      functionUses:    10
      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_dll2_count
        - 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:    27
      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:    7
      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:    16
      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:    47
      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: 424
      functionLinenumberEnd: 437
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          115
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_dll2_safe_next
        - _lws_log
        - lws_dll2_get_head
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:428,2'
          Dst:             _lws_log
        - Src:             'lib/core/lws_dll2.c:431,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/lws_dll2.c:433,3'
          Dst:             _lws_log
        - Src:             'lib/core/lws_dll2.c:431,2'
          Dst:             _lws_dll2_safe_next
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_safe_next
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_dll2_safe_advance
      functionUses:    48
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:109,9'
          Dst:             _lws_dll2_safe_advance
    - functionName:    _lws_dll2_safe_advance
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          95
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_dll2_is_in_list
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:67,15'
          Dst:             lws_dll2_is_in_list
        - Src:             'lib/core/lws_dll2.c:77,2'
          Dst:             _lws_log
        - Src:             'lib/core/lws_dll2.c:87,2'
          Dst:             __assert_fail
    - functionName:    lws_dll2_is_in_list
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          41
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _lws_dll2_search_sz_pl
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 404
      functionLinenumberEnd: 418
      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:405,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/lws_dll2.c:413,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: 380
      functionLinenumberEnd: 399
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          119
      EdgeCount:       27
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - _lws_dll2_safe_next
        - lws_dll2_add_before
        - lws_dll2_add_tail
        - lws_dll2_get_head
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:381,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/lws_dll2.c:383,3'
          Dst:             __assert_fail
        - Src:             'lib/core/lws_dll2.c:387,4'
          Dst:             lws_dll2_add_before
        - Src:             'lib/core/lws_dll2.c:381,2'
          Dst:             _lws_dll2_safe_next
        - Src:             'lib/core/lws_dll2.c:398,2'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_dll2_add_before
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 193
      functionLinenumberEnd: 229
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          91
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - lws_dll2_is_detached
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:196,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core/lws_dll2.c:197,3'
          Dst:             __assert_fail
        - Src:             'lib/core/lws_dll2.c:201,6'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core/lws_dll2.c:202,3'
          Dst:             __assert_fail
    - functionName:    lws_dll2_add_tail
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 270
      functionLinenumberEnd: 293
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          88
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - lws_dll2_is_detached
      functionUses:    40
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:271,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core/lws_dll2.c:272,3'
          Dst:             __assert_fail
    - functionName:    lws_dll2_is_detached
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 144
      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:    26
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:128,3'
          Dst:             _lws_log
        - Src:             'lib/core/lws_dll2.c:140,3'
          Dst:             __assert_fail
    - functionName:    lws_dll2_add_sorted_priv
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 356
      functionLinenumberEnd: 375
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          122
      EdgeCount:       27
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - _lws_dll2_safe_next
        - lws_dll2_add_before
        - lws_dll2_add_tail
        - lws_dll2_get_head
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:357,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/lws_dll2.c:359,3'
          Dst:             __assert_fail
        - Src:             'lib/core/lws_dll2.c:363,4'
          Dst:             lws_dll2_add_before
        - Src:             'lib/core/lws_dll2.c:357,2'
          Dst:             _lws_dll2_safe_next
        - Src:             'lib/core/lws_dll2.c:374,2'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_dll2_owner_clear
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 350
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_clear
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 328
      functionLinenumberEnd: 332
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_remove
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 297
      functionLinenumberEnd: 324
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          136
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - lws_dll2_is_detached
      functionUses:    109
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:298,6'
          Dst:             lws_dll2_is_detached
    - functionName:    lws_dll2_add_insert
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 266
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          104
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - lws_dll2_is_detached
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:243,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core/lws_dll2.c:244,3'
          Dst:             __assert_fail
        - Src:             'lib/core/lws_dll2.c:248,6'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core/lws_dll2.c:249,3'
          Dst:             __assert_fail
    - functionName:    lws_dll2_add_head
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 160
      functionLinenumberEnd: 185
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          102
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - lws_dll2_is_detached
      functionUses:    27
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:161,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core/lws_dll2.c:162,3'
          Dst:             __assert_fail
    - functionName:    lws_dll2_foreach_safe
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 149
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          108
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_dll2_safe_next
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:150,2'
          Dst:             _lws_dll2_safe_next
    - functionName:    _lws_dll2_safe_prev
      functionSourceFile: '/src/libwebsockets/lib/core/lws_dll2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 116
      functionLinenumberEnd: 118
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_dll2_safe_advance
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/lws_dll2.c:117,9'
          Dst:             _lws_dll2_safe_advance
    - functionName:    lws_dll2_get_next
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 349
      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_context_from_system_mgr
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2721
      functionLinenumberEnd: 2723
      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: 2714
      functionLinenumberEnd: 2715
      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_count
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      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: 2053
      functionLinenumberEnd: 2126
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         34
      ICount:          224
      EdgeCount:       44
      CyclomaticComplexity: 12
      functionsReached:
        - __lws_free_wsi
        - _lws_destroy_ah
        - _lws_dll2_safe_next
        - _lws_log_cx
        - lws_destroy_event_pipe
        - lws_dll2_get_head
        - lws_dll2_is_empty
        - lws_dll2_remove
        - 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:2070,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core/context.c:2071,3'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:2076,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/context.c:2080,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core/context.c:2080,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2080,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core/context.c:2081,3'
          Dst:             __lws_free_wsi
        - Src:             'lib/core/context.c:2076,2'
          Dst:             _lws_dll2_safe_next
        - Src:             'lib/core/context.c:2086,3'
          Dst:             lws_destroy_event_pipe
        - Src:             'lib/core/context.c:2103,3'
          Dst:             lws_plat_pipe_close
        - Src:             'lib/core/context.c:2107,9'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/core/context.c:2108,22'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/context.c:2108,3'
          Dst:             lws_ss_destroy_dll
        - Src:             'lib/core/context.c:2115,10'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/core/context.c:2116,24'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/context.c:2116,4'
          Dst:             _lws_destroy_ah
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_is_empty
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 344
      functionLinenumberEnd: 345
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_count
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'include/libwebsockets/lws-dll2.h:345,10'
          Dst:             lws_dll2_count
    - functionName:    lws_vhost_next
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 931
      functionLinenumberEnd: 934
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_next
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:932,23'
          Dst:             lws_dll2_get_next
    - functionName:    lws_vhost_first
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 923
      functionLinenumberEnd: 926
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_head
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:924,23'
          Dst:             lws_dll2_get_head
    - functionName:    lws_context_is_deprecated
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2022
      functionLinenumberEnd: 2023
      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: 2014
      functionLinenumberEnd: 2015
      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: 1968
      functionLinenumberEnd: 1973
      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:1972,2'
          Dst:             lws_system_cpd_start
    - functionName:    lws_system_cpd_start
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1942
      functionLinenumberEnd: 1964
      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:1944,17'
          Dst:             lws_system_cpd_set
        - Src:             'lib/core/context.c:1952,13'
          Dst:             lws_system_get_ops
        - Src:             'lib/core/context.c:1953,13'
          Dst:             lws_system_get_ops
        - Src:             'lib/core/context.c:1954,24'
          Dst:             lws_system_get_ops
        - Src:             'lib/core/context.c:1960,9'
          Dst:             lws_ss_sys_cpd
    - functionName:    lws_system_cpd_set
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1988
      functionLinenumberEnd: 2010
      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:1993,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1993,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1993,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2000,2'
          Dst:             lws_smd_msg_printf
        - Src:             'lib/core/context.c:2007,3'
          Dst:             lws_state_transition_steps
    - functionName:    lwsl_context_get_cx
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2742
      functionLinenumberEnd: 2747
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    149
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_log_prepend_context
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2732
      functionLinenumberEnd: 2738
      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:    149
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/context.c:2736,9'
          Dst:             lws_snprintf
    - functionName:    lws_system_cpd_start_defer
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1977
      functionLinenumberEnd: 1980
      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:1978,2'
          Dst:             lws_sul_schedule
        - Src:             'lib/core/context.c:1978,2'
          Dst:             lws_system_deferred_cb
    - functionName:    lws_context_destroy
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2167
      functionLinenumberEnd: 2710
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         158
      ICount:          1134
      EdgeCount:       203
      CyclomaticComplexity: 47
      functionsReached:
        - __assert_fail
        - __lws_vhost_destroy2
        - _lws_destroy_ah
        - _lws_dll2_safe_next
        - _lws_log_cx
        - _lws_smd_destroy
        - lws_cache_destroy
        - lws_cancel_service
        - lws_close_free_wsi
        - lws_context_deinit_ssl_library
        - lws_dll2_count
        - lws_dll2_get_head
        - lws_dll2_is_empty
        - 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
        - lws_vhost_first
        - lws_vhost_next
        - 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:2189,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core/context.c:2187,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2187,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2187,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2195,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2195,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2195,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2210,9'
          Dst:             lws_vhost_first
        - Src:             'lib/core/context.c:2213,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core/context.c:2213,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2213,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core/context.c:2214,10'
          Dst:             lws_vhost_next
        - Src:             'lib/core/context.c:2215,4'
          Dst:             lws_vhost_destroy1
        - Src:             'lib/core/context.c:2220,3'
          Dst:             lws_plat_context_early_destroy
        - Src:             'lib/core/context.c:2259,23'
          Dst:             wsi_from_fd
        - Src:             'lib/core/context.c:2264,6'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2264,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2264,6'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2268,6'
          Dst:             lws_close_free_wsi
        - Src:             'lib/core/context.c:2291,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2291,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2291,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2304,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2304,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2304,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2305,4'
          Dst:             lws_cancel_service
        - Src:             'lib/core/context.c:2337,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2337,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2337,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2348,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2348,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2348,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2353,4'
          Dst:             lws_pt_destroy
        - Src:             'lib/core/context.c:2367,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2367,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2367,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2400,2'
          Dst:             lws_state_transition
        - Src:             'lib/core/context.c:2420,10'
          Dst:             lws_vhost_first
        - Src:             'lib/core/context.c:2421,25'
          Dst:             lws_vhost_first
        - Src:             'lib/core/context.c:2421,4'
          Dst:             __lws_vhost_destroy2
        - Src:             'lib/core/context.c:2425,10'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/core/context.c:2427,25'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/context.c:2427,4'
          Dst:             __lws_vhost_destroy2
        - Src:             'lib/core/context.c:2433,3'
          Dst:             lws_ssl_context_destroy
        - Src:             'lib/core/context.c:2435,3'
          Dst:             lws_plat_context_late_destroy
        - Src:             'lib/core/context.c:2472,11'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/core/context.c:2473,25'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/context.c:2473,5'
          Dst:             _lws_destroy_ah
        - Src:             'lib/core/context.c:2477,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2477,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2477,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2478,4'
          Dst:             lws_pt_destroy
        - Src:             'lib/core/context.c:2489,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2489,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2489,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2497,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2497,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2497,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2516,3'
          Dst:             lws_state_transition_steps
        - Src:             'lib/core/context.c:2542,4'
          Dst:             __assert_fail
        - Src:             'lib/core/context.c:2546,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2546,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2546,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:2562,3'
          Dst:             lws_cache_destroy
        - Src:             'lib/core/context.c:2563,3'
          Dst:             lws_cache_destroy
        - Src:             'lib/core/context.c:2567,3'
          Dst:             lws_cache_destroy
        - Src:             'lib/core/context.c:2568,3'
          Dst:             lws_cache_destroy
        - Src:             'lib/core/context.c:2569,3'
          Dst:             lws_cache_destroy
        - Src:             'lib/core/context.c:2582,3'
          Dst:             _lws_smd_destroy
        - Src:             'lib/core/context.c:2593,3'
          Dst:             lws_fonts_destroy
        - Src:             'lib/core/context.c:2594,3'
          Dst:             lws_dlo_file_destroy
        - Src:             'lib/core/context.c:2598,4'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:2600,3'
          Dst:             lws_context_deinit_ssl_library
        - Src:             'lib/core/context.c:2609,6'
          Dst:             lws_system_get_blob
        - Src:             'lib/core/context.c:2608,4'
          Dst:             lws_system_blob_destroy
        - Src:             'lib/core/context.c:2618,4'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:2622,4'
          Dst:             lwsac_free
        - Src:             'lib/core/context.c:2626,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/context.c:2631,4'
          Dst:             lws_dll2_count
        - Src:             'lib/core/context.c:2631,4'
          Dst:             __assert_fail
        - Src:             'lib/core/context.c:2633,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/core/context.c:2634,4'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:2626,3'
          Dst:             _lws_dll2_safe_next
        - Src:             'lib/core/context.c:2640,3'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:2690,10'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/core/context.c:2691,20'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/context.c:2691,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/core/context.c:2694,3'
          Dst:             lwsl_refcount_cx
        - Src:             'lib/core/context.c:2696,3'
          Dst:             lws_realloc
        - Src:             'lib/core/context.c:2707,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:2707,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:2707,2'
          Dst:             lws_log_prepend_context
    - functionName:    lws_context_creation_completion_cb
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 293
      functionLinenumberEnd: 300
      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:298,2'
          Dst:             lws_state_transition_steps
    - functionName:    lws_state_notify_protocol_init
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 289
      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:112,3'
          Dst:             lws_system_do_attach
        - Src:             'lib/core/context.c:168,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:168,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:168,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:263,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:263,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:263,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:268,8'
          Dst:             lws_ss_sys_fetch_policy
        - Src:             'lib/core/context.c:286,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:286,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:286,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:288,9'
          Dst:             lws_protocol_init
    - functionName:    lws_system_smd_cb
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 307
      functionLinenumberEnd: 360
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          75
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - lws_json_simple_strcmp
        - lws_state_transition_steps
        - lws_system_cpd_start
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/context.c:315,7'
          Dst:             lws_json_simple_strcmp
        - Src:             'lib/core/context.c:316,3'
          Dst:             lws_system_cpd_start
        - Src:             'lib/core/context.c:322,8'
          Dst:             lws_json_simple_strcmp
        - Src:             'lib/core/context.c:329,4'
          Dst:             lws_system_cpd_start
        - Src:             'lib/core/context.c:331,4'
          Dst:             lws_state_transition_steps
    - functionName:    lws_create_context
      functionSourceFile: '/src/libwebsockets/lib/core/context.c'
      linkageType:     InternalLinkage
      functionLinenumber: 445
      functionLinenumberEnd: 1937
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         233
      ICount:          2159
      EdgeCount:       315
      CyclomaticComplexity: 84
      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_get_head
        - lws_dll2_is_empty
        - lws_dll2_owner_clear
        - 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:515,6'
          Dst:             lws_plat_context_early_init
        - Src:             'lib/core/context.c:706,12'
          Dst:             lws_zalloc
        - Src:             'lib/core/context.c:711,3'
          Dst:             _lws_log
        - Src:             'lib/core/context.c:720,2'
          Dst:             lwsl_refcount_cx
        - Src:             'lib/core/context.c:948,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:948,2'
          Dst:             OpenSSL_version
        - Src:             'lib/core/context.c:948,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:948,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:961,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:961,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:961,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1021,17'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1021,17'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1021,17'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1036,6'
          Dst:             lws_plat_drop_app_privileges
        - Src:             'lib/core/context.c:1117,21'
          Dst:             lws_now_usecs
        - Src:             'lib/core/context.c:1141,3'
          Dst:             setrlimit
        - Src:             'lib/core/context.c:1165,12'
          Dst:             sysconf
        - Src:             'lib/core/context.c:1170,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1170,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1170,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1178,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1178,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1178,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1206,2'
          Dst:             time
        - Src:             'lib/core/context.c:1216,10'
          Dst:             lws_snprintf
        - Src:             'lib/core/context.c:1254,3'
          Dst:             _lws_log
        - Src:             'lib/core/context.c:1276,2'
          Dst:             pthread_mutex_init
        - Src:             'lib/core/context.c:1277,2'
          Dst:             pthread_mutex_init
        - Src:             'lib/core/context.c:1281,7'
          Dst:             lws_smd_register
        - Src:             'lib/core/context.c:1281,7'
          Dst:             lws_system_smd_cb
        - Src:             'lib/core/context.c:1283,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1283,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1283,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1289,7'
          Dst:             lws_smd_register
        - Src:             'lib/core/context.c:1292,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1292,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1292,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1365,3'
          Dst:             lws_dll2_owner_clear
        - Src:             'lib/core/context.c:1378,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1378,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1378,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1404,23'
          Dst:             lws_zalloc
        - Src:             'lib/core/context.c:1410,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1410,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1410,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1415,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1415,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1415,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1425,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1425,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1425,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1437,5'
          Dst:             strlen
        - Src:             'lib/core/context.c:1456,6'
          Dst:             lws_plat_init
        - Src:             'lib/core/context.c:1484,6'
          Dst:             __lws_create_event_pipes
        - Src:             'lib/core/context.c:1499,2'
          Dst:             lws_context_init_ssl_library
        - Src:             'lib/core/context.c:1504,2'
          Dst:             strcpy
        - Src:             'lib/core/context.c:1506,2'
          Dst:             lws_server_get_canonical_hostname
        - Src:             'lib/core/context.c:1582,10'
          Dst:             lws_create_vhost
        - Src:             'lib/core/context.c:1584,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1584,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1584,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1592,8'
          Dst:             lws_protocol_init_vhost
        - Src:             'lib/core/context.c:1594,5'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1594,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1594,5'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1618,2'
          Dst:             lws_state_reg_notifier
        - Src:             'lib/core/context.c:1626,2'
          Dst:             lws_state_reg_notifier_list
        - Src:             'lib/core/context.c:1636,8'
          Dst:             lws_create_vhost
        - Src:             'lib/core/context.c:1638,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1638,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1638,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1656,18'
          Dst:             lws_cache_create
        - Src:             'lib/core/context.c:1667,17'
          Dst:             lws_cache_create
        - Src:             'lib/core/context.c:1669,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1669,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1669,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1687,25'
          Dst:             lws_cache_create
        - Src:             'lib/core/context.c:1689,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1689,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1689,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1698,27'
          Dst:             lws_cache_create
        - Src:             'lib/core/context.c:1700,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1700,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1700,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1709,27'
          Dst:             lws_cache_create
        - Src:             'lib/core/context.c:1711,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1711,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1711,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1798,7'
          Dst:             lws_ss_policy_parse_begin
        - Src:             'lib/core/context.c:1808,6'
          Dst:             strlen
        - Src:             'lib/core/context.c:1806,7'
          Dst:             lws_ss_policy_parse
        - Src:             'lib/core/context.c:1811,4'
          Dst:             _lws_log
        - Src:             'lib/core/context.c:1812,4'
          Dst:             lws_ss_policy_parse_abandon
        - Src:             'lib/core/context.c:1816,7'
          Dst:             lws_ss_policy_set
        - Src:             'lib/core/context.c:1818,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1818,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1818,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1841,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1841,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1841,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1851,3'
          Dst:             lws_state_transition
        - Src:             'lib/core/context.c:1853,7'
          Dst:             lws_plat_drop_app_privileges
        - Src:             'lib/core/context.c:1868,2'
          Dst:             lws_sul_schedule
        - Src:             'lib/core/context.c:1868,2'
          Dst:             lws_context_creation_completion_cb
        - Src:             'lib/core/context.c:1873,2'
          Dst:             lws_cancel_service
        - Src:             'lib/core/context.c:1876,2'
          Dst:             lws_get_random
        - Src:             'lib/core/context.c:1889,2'
          Dst:             lws_context_destroy
        - Src:             'lib/core/context.c:1895,2'
          Dst:             lws_context_destroy
        - Src:             'lib/core/context.c:1905,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core/context.c:1905,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core/context.c:1905,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core/context.c:1915,3'
          Dst:             _lws_smd_destroy
        - Src:             'lib/core/context.c:1925,10'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/core/context.c:1926,20'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/context.c:1926,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/core/context.c:1932,3'
          Dst:             lwsl_refcount_cx
        - Src:             'lib/core/context.c:1933,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:    iso8601_alldigits
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2501
      functionLinenumberEnd: 2509
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          50
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    iso8601_dec
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2444
      functionLinenumberEnd: 2450
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          34
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    iso8601_suffix
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2523
      functionLinenumberEnd: 2599
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         78
      ICount:          395
      EdgeCount:       105
      CyclomaticComplexity: 29
      functionsReached:
        - iso8601_alldigits
        - lws_tokenize
        - lws_tokenize_init
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/core/libwebsockets.c:2535,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:2529,2'
          Dst:             lws_tokenize_init
        - Src:             'lib/core/libwebsockets.c:2533,18'
          Dst:             lws_tokenize
        - Src:             'lib/core/libwebsockets.c:2552,17'
          Dst:             lws_tokenize
        - Src:             'lib/core/libwebsockets.c:2575,9'
          Dst:             iso8601_alldigits
        - Src:             'lib/core/libwebsockets.c:2586,17'
          Dst:             lws_tokenize
    - functionName:    lws_tokenize_init
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1354
      functionLinenumberEnd: 1367
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          58
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tokenize
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 958
      functionLinenumberEnd: 1336
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         261
      ICount:          1617
      EdgeCount:       355
      CyclomaticComplexity: 96
      functionsReached:
        - lws_check_byte_utf8
        - strchr
      functionUses:    19
      BranchProfiles:
        - Branch String:   'lib/core/libwebsockets.c:1053,4'
          Branch Sides:    []
        - Branch String:   'lib/core/libwebsockets.c:1171,4'
          Branch Sides:    []
        - Branch String:   'lib/core/libwebsockets.c:1225,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:1014,10'
          Dst:             lws_check_byte_utf8
        - Src:             'lib/core/libwebsockets.c:1158,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:    iso8601_triplet
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2464
      functionLinenumberEnd: 2494
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - char
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          151
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - iso8601_dec
        - lws_tokenize
        - lws_tokenize_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:2468,2'
          Dst:             lws_tokenize_init
        - Src:             'lib/core/libwebsockets.c:2472,18'
          Dst:             lws_tokenize
        - Src:             'lib/core/libwebsockets.c:2481,20'
          Dst:             iso8601_dec
        - Src:             'lib/core/libwebsockets.c:2493,9'
          Dst:             lws_tokenize
    - functionName:    lws_parse_iso8601
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2603
      functionLinenumberEnd: 2652
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         47
      ICount:          248
      EdgeCount:       65
      CyclomaticComplexity: 20
      functionsReached:
        - iso8601_suffix
        - iso8601_triplet
        - strlen
        - timegm
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:2611,9'
          Dst:             strlen
        - Src:             'lib/core/libwebsockets.c:2617,19'
          Dst:             iso8601_triplet
        - Src:             'lib/core/libwebsockets.c:2633,7'
          Dst:             iso8601_triplet
        - Src:             'lib/core/libwebsockets.c:2643,20'
          Dst:             iso8601_suffix
        - Src:             'lib/core/libwebsockets.c:2648,21'
          Dst:             timegm
    - 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: 2418
      functionLinenumberEnd: 2434
      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:2422,7'
          Dst:             lws_snprintf
        - Src:             'lib/core/libwebsockets.c:2426,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:    188
      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: 2412
      functionLinenumberEnd: 2413
      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: 2400
      functionLinenumberEnd: 2408
      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: 2383
      functionLinenumberEnd: 2396
      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: 2358
      functionLinenumberEnd: 2376
      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: 2326
      functionLinenumberEnd: 2353
      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: 2272
      functionLinenumberEnd: 2321
      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:2277,2'
          Dst:             __assert_fail
        - Src:             'lib/core/libwebsockets.c:2278,2'
          Dst:             __assert_fail
    - functionName:    lws_fx_sub
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2245
      functionLinenumberEnd: 2267
      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: 2224
      functionLinenumberEnd: 2240
      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: 2199
      functionLinenumberEnd: 2220
      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: 2148
      functionLinenumberEnd: 2195
      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: 2115
      functionLinenumberEnd: 2135
      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:2116,37'
          Dst:             lws_humanize
        - Src:             'lib/core/libwebsockets.c:2121,7'
          Dst:             strlen
        - Src:             'lib/core/libwebsockets.c:2122,8'
          Dst:             strlen
    - functionName:    lws_humanize
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2067
      functionLinenumberEnd: 2111
      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:2077,10'
          Dst:             decim
        - Src:             'lib/core/libwebsockets.c:2078,10'
          Dst:             lws_snprintf
        - Src:             'lib/core/libwebsockets.c:2083,9'
          Dst:             decim
        - Src:             'lib/core/libwebsockets.c:2093,12'
          Dst:             decim
        - Src:             'lib/core/libwebsockets.c:2097,11'
          Dst:             decim
        - Src:             'lib/core/libwebsockets.c:2101,9'
          Dst:             lws_snprintf
        - Src:             'lib/core/libwebsockets.c:2107,2'
          Dst:             __assert_fail
    - functionName:    decim
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2043
      functionLinenumberEnd: 2062
      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: 1824
      functionLinenumberEnd: 1825
      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: 1897
      functionLinenumberEnd: 2011
      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:1915,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core/libwebsockets.c:1909,7'
          Dst:             lws_cmdline_option
        - Src:             'lib/core/libwebsockets.c:1913,7'
          Dst:             atoi
        - Src:             'lib/core/libwebsockets.c:1941,4'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:1954,4'
          Dst:             signal
        - Src:             'lib/core/libwebsockets.c:1954,4'
          Dst:             lws_sigterm_catch
        - Src:             'lib/core/libwebsockets.c:1987,40'
          Dst:             atoll
        - Src:             'lib/core/libwebsockets.c:1990,41'
          Dst:             atoll
        - Src:             'lib/core/libwebsockets.c:1995,4'
          Dst:             lws_set_log_level
        - Src:             'lib/core/libwebsockets.c:1996,4'
          Dst:             lws_switches_print_help
        - Src:             'lib/core/libwebsockets.c:1997,4'
          Dst:             exit
        - Src:             'lib/core/libwebsockets.c:2004,2'
          Dst:             lws_set_log_level
    - functionName:    lws_cmdline_option
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1816
      functionLinenumberEnd: 1817
      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:1817,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: 1709
      functionLinenumberEnd: 1727
      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:1712,2'
          Dst:             lws_set_log_level
        - Src:             'lib/core/libwebsockets.c:1714,2'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:1715,2'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:1718,3'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:1721,2'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:1723,3'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:1726,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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_cmdline_options
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1731
      functionLinenumberEnd: 1781
      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:1737,7'
          Dst:             strlen
        - Src:             'lib/core/libwebsockets.c:1741,14'
          Dst:             strncmp
        - Src:             'lib/core/libwebsockets.c:1754,24'
          Dst:             strlen
    - functionName:    lws_cmdline_passfail
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1876
      functionLinenumberEnd: 1892
      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:1880,11'
          Dst:             lws_cmdline_option
        - Src:             'lib/core/libwebsockets.c:1881,14'
          Dst:             atoi
        - Src:             'lib/core/libwebsockets.c:1884,3'
          Dst:             _lws_log
        - Src:             'lib/core/libwebsockets.c:1889,2'
          Dst:             _lws_log
    - functionName:    lws_context_default_loop_run_destroy
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1863
      functionLinenumberEnd: 1870
      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:1866,36'
          Dst:             lws_service
        - Src:             'lib/core/libwebsockets.c:1869,9'
          Dst:             lws_context_destroy
    - functionName:    lws_default_loop_exit
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1851
      functionLinenumberEnd: 1858
      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:1855,3'
          Dst:             lws_cancel_service
    - functionName:    _lws_context_info_defaults
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1831
      functionLinenumberEnd: 1847
      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: 1803
      functionLinenumberEnd: 1811
      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: 1797
      functionLinenumberEnd: 1798
      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:1798,9'
          Dst:             lws_cmdline_options_cx
    - functionName:    lws_cmdline_options_cx
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1785
      functionLinenumberEnd: 1793
      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:1790,10'
          Dst:             lws_cmdline_options
        - Src:             'lib/core/libwebsockets.c:1792,9'
          Dst:             lws_cmdline_options
    - functionName:    lws_strcmp_wildcard
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1484
      functionLinenumberEnd: 1562
      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:1525,5'
          Dst:             _lws_log
    - functionName:    lws_strexp_expand
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1400
      functionLinenumberEnd: 1479
      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:1406,3'
          Branch Sides:    []
      Callsites:       []
    - functionName:    lws_strexp_reset_out
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1391
      functionLinenumberEnd: 1395
      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: 1380
      functionLinenumberEnd: 1387
      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_cstr
      functionSourceFile: '/src/libwebsockets/lib/core/libwebsockets.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1341
      functionLinenumberEnd: 1350
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          55
      EdgeCount:       8
      CyclomaticComplexity: 3
      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:    71
      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:    10
      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:    12
      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:    5
      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:    5
      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:    5
      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:         16
      ICount:          93
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_dll2_safe_next
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_realloc
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:37,2'
          Dst:             lws_dll2_get_head
        - 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
        - Src:             'lib/misc/cache-ttl/lws-cache-ttl.c:37,2'
          Dst:             _lws_dll2_safe_next
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_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:    4
      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:    7
      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:          64
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - lws_dll2_get_head
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:237,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/cache-ttl/heap.c:243,8'
          Dst:             strcmp
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sort_expiry
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_cache_item_evict_lru
      functionSourceFile: '/src/libwebsockets/lib/misc/cache-ttl/heap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_cache_heap_item_destroy
        - lws_dll2_get_head
        - lws_dll2_is_empty
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:157,5'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/misc/cache-ttl/heap.c:160,7'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/cache-ttl/heap.c:163,2'
          Dst:             lws_cache_heap_item_destroy
    - functionName:    lws_dll2_is_empty
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 344
      functionLinenumberEnd: 345
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_count
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'include/libwebsockets/lws-dll2.h:345,10'
          Dst:             lws_dll2_count
    - 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:         40
      ICount:          270
      EdgeCount:       50
      CyclomaticComplexity: 12
      functionsReached:
        - __assert_fail
        - _lws_cache_heap_item_destroy
        - _lws_dll2_safe_next
        - lws_dll2_get_head
        - lws_ser_ru32be
        - strcmp
        - strlen
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:97,2'
          Dst:             lws_dll2_get_head
        - 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:97,2'
          Dst:             _lws_dll2_safe_next
        - 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_dll2_get_head
        - lws_dll2_is_empty
        - 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:179,9'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/misc/cache-ttl/heap.c:182,10'
          Dst:             lws_dll2_get_head
        - 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:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_head
        - lws_dll2_is_empty
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:201,5'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/misc/cache-ttl/heap.c:204,9'
          Dst:             lws_dll2_get_head
    - functionName:    lws_dll2_count
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      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:          65
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - dump_dll
        - lws_dll2_count
        - lws_dll2_foreach_safe
        - lws_dll2_get_head
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/cache-ttl/heap.c:581,18'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/cache-ttl/heap.c:587,2'
          Dst:             lws_dll2_count
        - 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:         28
      ICount:          187
      EdgeCount:       36
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_cache_heap_item_destroy
        - _lws_dll2_safe_next
        - lws_cache_heap_get
        - lws_cache_heap_item_destroy
        - lws_dll2_get_head
      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:469,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/cache-ttl/heap.c:487,5'
          Dst:             _lws_cache_heap_item_destroy
        - Src:             'lib/misc/cache-ttl/heap.c:469,2'
          Dst:             _lws_dll2_safe_next
        - 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:          178
      EdgeCount:       33
      CyclomaticComplexity: 9
      functionsReached:
        - lws_cache_clear_matches
        - lws_dll2_add_tail
        - lws_dll2_get_head
        - 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:265,2'
          Dst:             lws_dll2_get_head
        - 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:282,4'
          Dst:             lws_dll2_get_head
        - 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:         51
      ICount:          374
      EdgeCount:       67
      CyclomaticComplexity: 18
      functionsReached:
        - _lws_cache_heap_item_destroy
        - _lws_dll2_safe_next
        - _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_dll2_count
        - lws_dll2_get_head
        - 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:343,2'
          Dst:             lws_dll2_get_head
        - 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:343,2'
          Dst:             _lws_dll2_safe_next
        - Src:             'lib/misc/cache-ttl/heap.c:375,3'
          Dst:             lws_dll2_count
        - Src:             'lib/misc/cache-ttl/heap.c:376,9'
          Dst:             lws_dll2_get_head
        - 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:412,8'
          Dst:             lws_dll2_get_head
        - 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:    11
      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_dll2_count
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - 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: 323
      functionLinenumberEnd: 323
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    14
      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
        - lws_dll2_get_head
        - lws_dll2_is_empty
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:594,9'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/misc/dlo/dlo.c:595,18'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:597,3'
          Dst:             lws_display_dlo_destroy
    - functionName:    lws_dll2_is_empty
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 344
      functionLinenumberEnd: 345
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_count
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'include/libwebsockets/lws-dll2.h:345,10'
          Dst:             lws_dll2_count
    - 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_get_head
        - lws_dll2_is_empty
        - 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:570,9'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/misc/dlo/dlo.c:571,18'
          Dst:             lws_dll2_get_head
        - 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:          393
      EdgeCount:       65
      CyclomaticComplexity: 19
      functionsReached:
        - _lws_log
        - lws_display_dlo_destroy
        - lws_dll2_get_head
        - lws_dll2_get_next
        - lws_dll2_is_empty
        - 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:472,8'
          Dst:             lws_dll2_get_next
        - Src:             'lib/misc/dlo/dlo.c:476,4'
          Dst:             lws_display_dlo_destroy
        - Src:             'lib/misc/dlo/dlo.c:497,8'
          Dst:             lws_dll2_get_next
        - Src:             'lib/misc/dlo/dlo.c:508,8'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/misc/dlo/dlo.c:510,6'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:514,28'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:522,8'
          Dst:             lws_dll2_get_next
    - functionName:    lws_dll2_get_next
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 349
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - 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:          343
      EdgeCount:       49
      CyclomaticComplexity: 14
      functionsReached:
        - _lws_log
        - lws_display_render_dump_ids
        - lws_dll2_get_head
        - lws_dll2_get_next
        - lws_dll2_is_empty
        - 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:395,7'
          Dst:             lws_dll2_get_next
        - Src:             'lib/misc/dlo/dlo.c:404,7'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/misc/dlo/dlo.c:406,5'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:410,27'
          Dst:             lws_dll2_get_head
        - 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:          320
      EdgeCount:       48
      CyclomaticComplexity: 14
      functionsReached:
        - _lws_log
        - lws_dll2_get_head
        - lws_dll2_get_next
        - lws_dll2_is_empty
        - 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:311,7'
          Dst:             lws_dll2_get_next
        - Src:             'lib/misc/dlo/dlo.c:319,7'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/misc/dlo/dlo.c:321,5'
          Dst:             _lws_log
        - Src:             'lib/misc/dlo/dlo.c:324,19'
          Dst:             lws_dll2_get_head
    - 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:          148
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - _lws_dll2_owner_container
        - lws_dll2_get_next
        - lws_dll2_owner
        - 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:211,19'
          Dst:             _lws_dll2_owner_container
        - Src:             'lib/misc/dlo/dlo.c:213,8'
          Dst:             lws_dll2_owner
        - Src:             'lib/misc/dlo/dlo.c:221,10'
          Dst:             lws_dll2_get_next
        - 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_dll2_owner_container
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 457
      functionLinenumberEnd: 459
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          36
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_owner
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 320
      functionLinenumberEnd: 320
      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_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:          184
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_dll2_owner_container
        - lws_dll2_get_head
        - lws_dll2_owner
        - 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:157,6'
          Dst:             lws_dll2_owner
        - Src:             'lib/misc/dlo/dlo.c:158,25'
          Dst:             _lws_dll2_owner_container
        - Src:             'lib/misc/dlo/dlo.c:161,7'
          Dst:             lws_fx_comp
        - Src:             'lib/misc/dlo/dlo.c:168,6'
          Dst:             lws_dll2_owner
        - Src:             'lib/misc/dlo/dlo.c:169,25'
          Dst:             _lws_dll2_owner_container
        - 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:          79
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - lws_dll2_add_tail
        - lws_dll2_get_head
        - lws_dll2_is_empty
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo.c:47,22'
          Dst:             lws_dll2_get_head
        - Src:             'lib/misc/dlo/dlo.c:48,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/misc/dlo/dlo.c:54,6'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/misc/dlo/dlo.c:57,16'
          Dst:             lws_dll2_get_head
        - 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_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_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:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_foreach_safe
        - lws_dll2_get_head
        - lws_fonts_score
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-text.c:406,41'
          Dst:             lws_dll2_get_head
        - 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_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_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_vhost_first
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 923
      functionLinenumberEnd: 926
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:924,23'
          Dst:             lws_dll2_get_head
    - 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:          144
      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
        - lws_vhost_first
      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:126,8'
          Dst:             lws_vhost_first
        - 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:    lws_dll2_get_next
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 349
      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:    _lwsac_assert_valid
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 365
      functionLinenumberEnd: 392
      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:          109
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - _lws_log
        - lwsac_next_chunk
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:375,8'
          Dst:             lwsac_next_chunk
        - Src:             'lib/misc/lwsac/lwsac.c:385,3'
          Dst:             _lws_log
        - Src:             'lib/misc/lwsac/lwsac.c:387,8'
          Dst:             lwsac_next_chunk
        - Src:             'lib/misc/lwsac/lwsac.c:391,2'
          Dst:             _lws_log
        - Src:             'lib/misc/lwsac/lwsac.c:392,2'
          Dst:             __assert_fail
    - functionName:    lwsac_next_chunk
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/private-lib-misc-lwsac.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_next
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/private-lib-misc-lwsac.h:57,23'
          Dst:             lws_dll2_get_next
    - functionName:    lwsac_detach
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 345
      functionLinenumberEnd: 360
      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:355,3'
          Dst:             _lws_log
        - Src:             'lib/misc/lwsac/lwsac.c:356,3'
          Dst:             lwsac_free
        - Src:             'lib/misc/lwsac/lwsac.c:358,3'
          Dst:             _lws_log
    - functionName:    lwsac_free
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 265
      functionLinenumberEnd: 277
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lwsac_next_chunk
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:272,23'
          Dst:             lwsac_next_chunk
    - functionName:    lwsac_unreference
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 321
      functionLinenumberEnd: 341
      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:330,3'
          Dst:             _lws_log
        - Src:             'lib/misc/lwsac/lwsac.c:334,2'
          Dst:             _lws_log
        - Src:             'lib/misc/lwsac/lwsac.c:338,3'
          Dst:             _lws_log
        - Src:             'lib/misc/lwsac/lwsac.c:339,3'
          Dst:             lwsac_free
    - functionName:    lwsac_reference
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 311
      functionLinenumberEnd: 317
      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:315,2'
          Dst:             _lws_log
    - functionName:    lwsac_total_alloc
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 299
      functionLinenumberEnd: 307
      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: 281
      functionLinenumberEnd: 295
      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:286,3'
          Dst:             _lws_log
        - Src:             'lib/misc/lwsac/lwsac.c:292,2'
          Dst:             _lws_log
    - functionName:    lwsac_use_zero
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 254
      functionLinenumberEnd: 260
      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:255,12'
          Dst:             lwsac_use
    - functionName:    lwsac_use
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 205
      functionLinenumberEnd: 206
      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:206,9'
          Dst:             _lwsac_use
    - functionName:    _lwsac_use
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          308
      EdgeCount:       57
      CyclomaticComplexity: 16
      functionsReached:
        - _lws_log
        - lws_dll2_add_tail
        - lws_dll2_clear
        - lws_dll2_owner_clear
        - lwsac_align
        - lwsac_next_chunk
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:105,7'
          Dst:             lwsac_align
        - Src:             'lib/misc/lwsac/lwsac.c:117,9'
          Dst:             lwsac_next_chunk
        - Src:             'lib/misc/lwsac/lwsac.c:152,3'
          Dst:             _lws_log
        - Src:             'lib/misc/lwsac/lwsac.c:164,2'
          Dst:             lws_dll2_clear
        - Src:             'lib/misc/lwsac/lwsac.c:177,3'
          Dst:             lws_dll2_owner_clear
        - Src:             'lib/misc/lwsac/lwsac.c:180,2'
          Dst:             lws_dll2_add_tail
    - 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: 240
      functionLinenumberEnd: 249
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lwsac_next_chunk
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:246,10'
          Dst:             lwsac_next_chunk
    - functionName:    lwsac_scan_extant
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 236
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          145
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - lwsac_next_chunk
        - memcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:226,10'
          Dst:             memcmp
        - Src:             'lib/misc/lwsac/lwsac.c:232,10'
          Dst:             lwsac_next_chunk
    - 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:    18
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsac_use_backfill
      functionSourceFile: '/src/libwebsockets/lib/misc/lwsac/lwsac.c'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 212
      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:212,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:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lwsac_next_chunk
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/lwsac/lwsac.c:69,9'
          Dst:             lwsac_next_chunk
    - 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:          114
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_dll2_count
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/system.c:220,9'
          Dst:             lws_dll2_count
        - 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_count
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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:          131
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - lws_cancel_service
        - lws_dll2_add_head
        - lws_dll2_count
        - 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:183,7'
          Dst:             lws_dll2_count
        - 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_dll2_get_next
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 349
      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_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:         29
      ICount:          188
      EdgeCount:       37
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_dll2_safe_next
        - _lws_smd_peer_destroy
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_realloc
        - pthread_mutex_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:817,2'
          Dst:             lws_dll2_get_head
        - 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:817,2'
          Dst:             _lws_dll2_safe_next
        - Src:             'lib/system/smd/smd.c:830,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/system/smd/smd.c:835,3'
          Dst:             _lws_smd_peer_destroy
        - Src:             'lib/system/smd/smd.c:830,2'
          Dst:             _lws_dll2_safe_next
        - 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_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - 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:          98
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_dll2_owner_container
        - _lws_smd_msg_destroy
        - _lws_smd_msg_peer_interested_in_msg
        - lws_dll2_get_next
        - lws_dll2_remove
        - lws_realloc
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:478,19'
          Dst:             _lws_dll2_owner_container
        - 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:493,23'
          Dst:             lws_dll2_get_next
        - 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:    _lws_dll2_owner_container
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 457
      functionLinenumberEnd: 459
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          36
      EdgeCount:       8
      CyclomaticComplexity: 3
      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:         18
      ICount:          121
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - _lws_dll2_safe_next
        - _lws_log_cx
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_log_prepend_context
        - lws_realloc
        - lwsl_context_get_cx
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:176,2'
          Dst:             lws_dll2_get_head
        - 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:176,2'
          Dst:             _lws_dll2_safe_next
        - 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:          74
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_smd_msg_peer_interested_in_msg
        - lws_dll2_get_next
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:516,10'
          Dst:             lws_dll2_get_next
        - 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:         58
      ICount:          345
      EdgeCount:       76
      CyclomaticComplexity: 20
      functionsReached:
        - _lws_dll2_safe_next
        - _lws_log_cx
        - _lws_smd_msg_destroy
        - _lws_smd_msg_next_matching_filter
        - lws_dll2_count
        - lws_dll2_get_head
        - 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:728,7'
          Dst:             lws_dll2_count
        - 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:744,2'
          Dst:             lws_dll2_get_head
        - 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:760,4'
          Dst:             lws_dll2_get_head
        - Src:             'lib/system/smd/smd.c:766,17'
          Dst:             _lws_smd_msg_next_matching_filter
        - Src:             'lib/system/smd/smd.c:760,4'
          Dst:             _lws_dll2_safe_next
        - Src:             'lib/system/smd/smd.c:775,4'
          Dst:             _lws_smd_msg_destroy
        - Src:             'lib/system/smd/smd.c:744,2'
          Dst:             _lws_dll2_safe_next
        - Src:             'lib/system/smd/smd.c:779,2'
          Dst:             pthread_mutex_unlock
        - Src:             'lib/system/smd/smd.c:785,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/system/smd/smd.c:801,3'
          Dst:             pthread_mutex_unlock
    - functionName:    lws_dll2_count
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_self
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    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:          87
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_dll2_owner_container
        - _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:703,19'
          Dst:             _lws_dll2_owner_container
        - 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:         16
      ICount:          102
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_dll2_safe_next
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:153,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/system/smd/smd.c:153,2'
          Dst:             _lws_dll2_safe_next
    - 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:         36
      ICount:          252
      EdgeCount:       47
      CyclomaticComplexity: 13
      functionsReached:
        - _lws_dll2_safe_next
        - _lws_log_cx
        - _lws_smd_class_mask_union
        - _lws_smd_msg_peer_interested_in_msg
        - lws_dll2_add_tail
        - lws_dll2_count
        - lws_dll2_get_head
        - 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:677,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/system/smd/smd.c:681,7'
          Dst:             _lws_smd_msg_peer_interested_in_msg
        - Src:             'lib/system/smd/smd.c:677,2'
          Dst:             _lws_dll2_safe_next
        - 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_dll2_count
        - 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:         25
      ICount:          147
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - _lws_dll2_safe_next
        - _lws_smd_msg_deliver_peer
        - lws_dll2_count
        - lws_dll2_get_head
        - pthread_mutex_lock
        - pthread_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:608,7'
          Dst:             lws_dll2_count
        - Src:             'lib/system/smd/smd.c:614,7'
          Dst:             pthread_mutex_lock
        - Src:             'lib/system/smd/smd.c:617,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/system/smd/smd.c:621,27'
          Dst:             _lws_smd_msg_deliver_peer
        - Src:             'lib/system/smd/smd.c:617,3'
          Dst:             _lws_dll2_safe_next
        - 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:          264
      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_dll2_count
        - lws_dll2_get_head
        - lws_realloc
        - pthread_equal
        - pthread_mutex_lock
        - pthread_mutex_unlock
        - pthread_self
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:210,6'
          Dst:             lws_dll2_count
        - 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:257,2'
          Dst:             lws_dll2_get_head
        - 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:          75
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_smd_msg_peer_interested_in_msg
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/system/smd/smd.c:134,2'
          Dst:             lws_dll2_get_head
        - 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_dll2_count
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_close_free_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1251
      functionLinenumberEnd: 1263
      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:    37
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/close.c:1259,2'
          Dst:             __lws_close_free_wsi
    - functionName:    __lws_close_free_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 501
      functionLinenumberEnd: 1081
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         297
      ICount:          1964
      EdgeCount:       403
      CyclomaticComplexity: 108
      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_get_head
        - lws_dll2_is_detached
        - lws_dll2_is_empty
        - 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:672,2'
          Branch Sides:    []
        - Branch String:   'lib/core-net/close.c:849,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/close.c:514,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:514,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:514,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:518,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/close.c:519,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:519,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:519,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:526,4'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/close.c:528,5'
          Dst:             delete_from_fd
        - Src:             'lib/core-net/close.c:530,4'
          Dst:             delete_from_fdwsi
        - Src:             'lib/core-net/close.c:574,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:577,2'
          Dst:             lws_addrinfo_clean
        - Src:             'lib/core-net/close.c:582,3'
          Dst:             lws_http_close_immortal
        - Src:             'lib/core-net/close.c:586,9'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/core-net/close.c:587,10'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/close.c:591,3'
          Dst:             __lws_close_free_wsi
        - Src:             'lib/core-net/close.c:592,7'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/close.c:600,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:607,3'
          Dst:             lws_remove_child_from_any_parent
        - Src:             'lib/core-net/close.c:608,3'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/close.c:647,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:661,3'
          Dst:             lws_vfs_file_close
        - Src:             'lib/core-net/close.c:683,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/close.c:689,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/close.c:692,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:692,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:692,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:695,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/close.c:701,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:701,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:701,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:702,4'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/close.c:703,4'
          Dst:             __lws_set_timeout
        - Src:             'lib/core-net/close.c:739,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:739,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:739,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:746,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:746,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:746,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:757,3'
          Dst:             lws_vfs_file_close
        - Src:             'lib/core-net/close.c:760,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/close.c:765,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/close.c:771,4'
          Dst:             lws_remove_parallel_fd_safely
        - Src:             'lib/core-net/close.c:794,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/close.c:794,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/close.c:821,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:821,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:821,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:828,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/close.c:847,7'
          Dst:             lws_is_ssl
        - Src:             'lib/core-net/close.c:849,12'
          Dst:             __lws_tls_shutdown
        - Src:             'lib/core-net/close.c:855,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:855,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:855,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:856,6'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/close.c:863,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/close.c:863,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/close.c:869,9'
          Dst:             shutdown
        - Src:             'lib/core-net/close.c:873,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:873,4'
          Dst:             __errno_location
        - Src:             'lib/core-net/close.c:873,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:873,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:889,4'
          Dst:             __lws_change_pollfd
        - Src:             'lib/core-net/close.c:890,4'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/close.c:891,4'
          Dst:             __lws_set_timeout
        - Src:             'lib/core-net/close.c:899,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:899,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:899,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:911,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:918,2'
          Dst:             __lws_ssl_remove_wsi_from_buffered_list
        - Src:             'lib/core-net/close.c:919,2'
          Dst:             __lws_wsi_remove_from_sul
        - Src:             'lib/core-net/close.c:925,2'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/close.c:927,2'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/close.c:928,2'
          Dst:             lws_buflist_destroy_all_segments
        - Src:             'lib/core-net/close.c:929,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:956,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/close.c:964,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:964,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:964,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:979,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/close.c:1004,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:1004,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:1004,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:1067,2'
          Dst:             lws_remove_child_from_any_parent
        - Src:             'lib/core-net/close.c:1074,2'
          Dst:             __lws_close_free_wsi_final
        - Src:             'lib/core-net/close.c:1078,6'
          Dst:             lws_ss_event_helper
        - Src:             'lib/core-net/close.c:1079,3'
          Dst:             lws_ss_destroy
    - functionName:    lws_addrinfo_clean
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 448
      functionLinenumberEnd: 462
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_head
        - lws_dll2_get_next
        - lws_dll2_remove
        - lws_realloc
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/close.c:450,23'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/close.c:455,8'
          Dst:             lws_dll2_get_next
        - Src:             'lib/core-net/close.c:456,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:457,3'
          Dst:             lws_realloc
    - functionName:    lws_dll2_is_empty
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 344
      functionLinenumberEnd: 345
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_count
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'include/libwebsockets/lws-dll2.h:345,10'
          Dst:             lws_dll2_count
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_remove_child_from_any_parent
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 314
      functionLinenumberEnd: 334
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          88
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log_cx
        - lws_dll2_is_detached
        - lws_dll2_remove
        - lws_log_prepend_wsi
        - lws_wsi_tag
        - lwsl_wsi_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/close.c:318,6'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/close.c:319,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:319,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:319,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:324,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:324,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/close.c:324,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:324,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:332,2'
          Dst:             lws_dll2_remove
    - 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: 339
      functionLinenumberEnd: 443
      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:432,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: 1088
      functionLinenumberEnd: 1246
      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:1096,17'
          Dst:             lws_ssl_close
        - Src:             'lib/core-net/close.c:1100,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:1100,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:1100,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:1102,3'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/close.c:1104,4'
          Dst:             delete_from_fd
        - Src:             'lib/core-net/close.c:1111,8'
          Dst:             lws_plat_pipe_is_fd_assocated
        - Src:             'lib/core-net/close.c:1113,8'
          Dst:             close
        - Src:             'lib/core-net/close.c:1115,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:1115,5'
          Dst:             __errno_location
        - Src:             'lib/core-net/close.c:1115,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:1115,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:1120,3'
          Dst:             delete_from_fdwsi
        - Src:             'lib/core-net/close.c:1123,3'
          Dst:             sanity_assert_no_sockfd_traces
        - Src:             'lib/core-net/close.c:1132,4'
          Dst:             lws_plat_pipe_close
        - Src:             'lib/core-net/close.c:1146,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:1151,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:1151,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:1151,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:1154,3'
          Dst:             lws_role_transition
        - Src:             'lib/core-net/close.c:1174,4'
          Dst:             lws_wsi_mux_sibling_disconnect
        - Src:             'lib/core-net/close.c:1183,4'
          Dst:             lws_bind_protocol
        - Src:             'lib/core-net/close.c:1189,4'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/close.c:1193,7'
          Dst:             lws_header_table_attach
        - Src:             'lib/core-net/close.c:1194,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:1194,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:1194,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:1243,2'
          Dst:             __lws_wsi_remove_from_sul
        - Src:             'lib/core-net/close.c:1244,2'
          Dst:             sanity_assert_no_wsi_traces
        - Src:             'lib/core-net/close.c:1245,2'
          Dst:             __lws_free_wsi
    - functionName:    __lws_free_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 309
      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:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/close.c:252,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/close.c:284,2'
          Dst:             __lws_reset_wsi
        - Src:             'lib/core-net/close.c:285,2'
          Dst:             __lws_wsi_remove_from_sul
        - Src:             'lib/core-net/close.c:289,3'
          Dst:             __lws_vhost_unbind_wsi
        - Src:             'lib/core-net/close.c:293,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:299,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/close.c:299,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/close.c:299,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/close.c:307,2'
          Dst:             __lws_lc_untag
        - Src:             'lib/core-net/close.c:308,2'
          Dst:             lws_realloc
    - functionName:    __lws_reset_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/close.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 237
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         56
      ICount:          568
      EdgeCount:       71
      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:190,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/close.c:194,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_next
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 349
      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: 1483
      functionLinenumberEnd: 1495
      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:1487,7'
          Dst:             strcmp
        - Src:             'lib/core-net/network.c:1488,7'
          Dst:             strcmp
        - Src:             'lib/core-net/network.c:1489,7'
          Dst:             strcmp
        - Src:             'lib/core-net/network.c:1490,7'
          Dst:             strcmp
        - Src:             'lib/core-net/network.c:1491,7'
          Dst:             strcmp
    - functionName:    lws_parse_cidr
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1457
      functionLinenumberEnd: 1479
      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:1461,2'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/network.c:1462,14'
          Dst:             strchr
        - Src:             'lib/core-net/network.c:1468,10'
          Dst:             atoi
        - Src:             'lib/core-net/network.c:1471,6'
          Dst:             lws_sa46_parse_numeric_address
    - functionName:    lws_sa46_parse_numeric_address
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 974
      functionLinenumberEnd: 1034
      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:980,6'
          Dst:             lws_parse_numeric_address
    - functionName:    lws_parse_numeric_address
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 831
      functionLinenumberEnd: 970
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         126
      ICount:          760
      EdgeCount:       172
      CyclomaticComplexity: 48
      functionsReached:
        - _lws_log
        - lws_tokenize
        - lws_tokenize_init
        - strchr
        - strlen
        - strtol
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib/core-net/network.c:859,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/network.c:834,34'
          Dst:             strchr
        - Src:             'lib/core-net/network.c:839,2'
          Dst:             lws_tokenize_init
        - Src:             'lib/core-net/network.c:841,11'
          Dst:             strlen
        - Src:             'lib/core-net/network.c:858,18'
          Dst:             lws_tokenize
        - Src:             'lib/core-net/network.c:872,9'
          Dst:             strtol
        - Src:             'lib/core-net/network.c:883,9'
          Dst:             strtol
        - Src:             'lib/core-net/network.c:960,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/network.c:967,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: 1385
      functionLinenumberEnd: 1453
      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:1391,6'
          Dst:             lws_sa46_parse_numeric_address
        - Src:             'lib/core-net/network.c:1422,7'
          Dst:             lws_sa46_is_ipv4_mapped
    - functionName:    lws_sa46_is_ipv4_mapped
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1038
      functionLinenumberEnd: 1052
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         30
      ICount:          159
      EdgeCount:       42
      CyclomaticComplexity: 14
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_parse_mac
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1326
      functionLinenumberEnd: 1381
      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:1339,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/network.c:1333,2'
          Dst:             lws_tokenize_init
        - Src:             'lib/core-net/network.c:1335,11'
          Dst:             strlen
        - Src:             'lib/core-net/network.c:1338,18'
          Dst:             lws_tokenize
        - Src:             'lib/core-net/network.c:1353,8'
          Dst:             strtol
        - Src:             'lib/core-net/network.c:1372,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/network.c:1378,2'
          Dst:             _lws_log
    - functionName:    lws_system_get_state_manager
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1319
      functionLinenumberEnd: 1320
      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: 1289
      functionLinenumberEnd: 1314
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_sa46_on_net
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1218
      functionLinenumberEnd: 1285
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          188
      EdgeCount:       38
      CyclomaticComplexity: 11
      functionsReached:
        - lws_4to6
        - lws_sa46_is_ipv4_mapped
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:1240,3'
          Dst:             lws_4to6
        - Src:             'lib/core-net/network.c:1255,3'
          Dst:             lws_4to6
        - Src:             'lib/core-net/network.c:1264,24'
          Dst:             lws_sa46_is_ipv4_mapped
    - functionName:    lws_4to6
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1192
      functionLinenumberEnd: 1201
      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: 1206
      functionLinenumberEnd: 1212
      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:1209,2'
          Dst:             lws_4to6
        - Src:             'lib/core-net/network.c:1211,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: 1155
      functionLinenumberEnd: 1188
      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:1164,3'
          Dst:             lws_4to6
        - Src:             'lib/core-net/network.c:1177,3'
          Dst:             lws_4to6
        - Src:             'lib/core-net/network.c:1187,9'
          Dst:             memcmp
    - functionName:    lws_write_numeric_address
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1056
      functionLinenumberEnd: 1120
      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:1063,10'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/network.c:1088,14'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/network.c:1099,11'
          Dst:             lws_snprintf
    - functionName:    lws_retry_sul_schedule_retry_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 617
      functionLinenumberEnd: 650
      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:619,18'
          Dst:             lws_retry_get_delay_ms
        - Src:             'lib/core-net/network.c:644,3'
          Dst:             lws_http_check_retry_after
        - Src:             'lib/core-net/network.c:647,2'
          Dst:             lws_sul_schedule
    - functionName:    lws_retry_get_delay_ms
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 561
      functionLinenumberEnd: 593
      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:582,6'
          Dst:             lws_get_random
        - Src:             'lib/core-net/network.c:585,3'
          Dst:             __assert_fail
    - functionName:    lws_retry_sul_schedule
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 600
      functionLinenumberEnd: 612
      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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/network.c:602,16'
          Dst:             lws_retry_get_delay_ms
        - Src:             'lib/core-net/network.c:607,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/network.c:607,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:607,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/network.c:609,2'
          Dst:             lws_sul_schedule
    - functionName:    lws_get_addr_scope
      functionSourceFile: '/src/libwebsockets/lib/core-net/network.c'
      linkageType:     InternalLinkage
      functionLinenumber: 656
      functionLinenumberEnd: 785
      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:678,10'
          Dst:             if_nametoindex
        - Src:             'lib/core-net/network.c:691,2'
          Dst:             getifaddrs
        - Src:             'lib/core-net/network.c:698,3'
          Dst:             getnameinfo
        - Src:             'lib/core-net/network.c:708,8'
          Dst:             strcmp
        - Src:             'lib/core-net/network.c:709,12'
          Dst:             if_nametoindex
        - Src:             'lib/core-net/network.c:713,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: 310
      functionLinenumberEnd: 554
      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:336,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/network.c:344,37'
          Dst:             strlen
        - Src:             'lib/core-net/network.c:345,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:345,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:345,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:352,32'
          Dst:             strlen
        - Src:             'lib/core-net/network.c:354,3'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/network.c:358,4'
          Dst:             unlink
        - Src:             'lib/core-net/network.c:382,8'
          Dst:             interface_to_sa
        - Src:             'lib/core-net/network.c:385,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:385,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:385,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:390,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:390,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:390,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:395,6'
          Dst:             lws_get_addr_scope
        - Src:             'lib/core-net/network.c:394,45'
          Dst:             htonl
        - Src:             'lib/core-net/network.c:398,36'
          Dst:             htons
        - Src:             'lib/core-net/network.c:413,11'
          Dst:             interface_to_sa
        - Src:             'lib/core-net/network.c:416,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:416,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:416,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:421,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:421,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:421,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:427,25'
          Dst:             htons
        - Src:             'lib/core-net/network.c:439,73'
          Dst:             strlen
        - Src:             'lib/core-net/network.c:439,7'
          Dst:             setsockopt
        - Src:             'lib/core-net/network.c:441,21'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:442,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:442,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:442,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:450,6'
          Dst:             bind
        - Src:             'lib/core-net/network.c:455,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:455,3'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:455,3'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/network.c:455,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:455,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:463,20'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:467,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:467,3'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/network.c:467,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:467,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:488,8'
          Dst:             lws_plat_user_colon_group_to_ids
        - Src:             'lib/core-net/network.c:490,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:490,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:490,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:496,8'
          Dst:             chown
        - Src:             'lib/core-net/network.c:497,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:497,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:497,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:503,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:503,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:503,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:508,8'
          Dst:             chmod
        - Src:             'lib/core-net/network.c:509,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:509,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:509,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:518,6'
          Dst:             getsockname
        - Src:             'lib/core-net/network.c:522,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:522,3'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:522,3'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/network.c:522,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:522,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:530,4'
          Dst:             ntohs
        - Src:             'lib/core-net/network.c:531,4'
          Dst:             ntohs
        - Src:             'lib/core-net/network.c:546,4'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/network.c:549,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/network.c:549,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:549,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:    7
      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:    2
      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: 1124
      functionLinenumberEnd: 1151
      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:1128,10'
          Dst:             lws_write_numeric_address
        - Src:             'lib/core-net/network.c:1133,10'
          Dst:             lws_write_numeric_address
        - Src:             'lib/core-net/network.c:1139,10'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/network.c:1143,10'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/network.c:1146,10'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/network.c:1148,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: 245
      functionLinenumberEnd: 294
      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:273,6'
          Dst:             getpeername
        - Src:             'lib/core-net/network.c:277,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/network.c:277,3'
          Dst:             __errno_location
        - Src:             'lib/core-net/network.c:277,3'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/network.c:277,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/network.c:277,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/network.c:283,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: 239
      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:231,8'
          Dst:             lws_get_network_wsi
        - Src:             'lib/core-net/network.c:234,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/network.c:238,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_dll2_get_next
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 349
      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_dll2_owner_container
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 457
      functionLinenumberEnd: 459
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          36
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_vhost_active_conns
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2023
      functionLinenumberEnd: 2261
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         82
      ICount:          545
      EdgeCount:       113
      CyclomaticComplexity: 33
      functionsReached:
        - _lws_dll2_owner_container
        - _lws_dll2_safe_next
        - _lws_generic_transaction_completed_active_conn
        - _lws_log_cx
        - lws_dll2_add_tail
        - lws_dll2_get_head
        - 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:2026,24'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/core-net/vhost.c:2035,26'
          Dst:             strstr
        - Src:             'lib/core-net/vhost.c:2044,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/vhost.c:2045,19'
          Dst:             _lws_dll2_owner_container
        - Src:             'lib/core-net/vhost.c:2067,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/vhost.c:2072,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:2072,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/vhost.c:2072,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:2072,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:2089,32'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:2110,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:2110,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:2110,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:2124,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:2124,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:2124,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:2128,6'
          Dst:             _lws_generic_transaction_completed_active_conn
        - Src:             'lib/core-net/vhost.c:2146,6'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/vhost.c:2147,6'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/vhost.c:2151,5'
          Dst:             lws_wsi_h2_adopt
        - Src:             'lib/core-net/vhost.c:2226,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:2226,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/vhost.c:2226,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:2226,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:2233,4'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/vhost.c:2237,5'
          Dst:             _lws_generic_transaction_completed_active_conn
        - Src:             'lib/core-net/vhost.c:2067,2'
          Dst:             _lws_dll2_safe_next
    - 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:    21
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_vhost_by_name
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1996
      functionLinenumberEnd: 2004
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          74
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - lws_dll2_get_head
        - strcmp
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1997,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/vhost.c:1998,31'
          Dst:             strcmp
    - functionName:    lws_context_deprecate
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1956
      functionLinenumberEnd: 1989
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          130
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_dll2_safe_next
        - lws_close_free_wsi
        - lws_dll2_get_head
        - lws_vhost_first
        - lws_vhost_next
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1957,25'
          Dst:             lws_vhost_first
        - Src:             'lib/core-net/vhost.c:1972,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/vhost.c:1978,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/core-net/vhost.c:1972,3'
          Dst:             _lws_dll2_safe_next
        - Src:             'lib/core-net/vhost.c:1984,8'
          Dst:             lws_vhost_next
    - functionName:    lws_vhost_first
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 923
      functionLinenumberEnd: 926
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_head
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:924,23'
          Dst:             lws_dll2_get_head
    - functionName:    lws_vhost_next
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 931
      functionLinenumberEnd: 934
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_next
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:932,23'
          Dst:             lws_dll2_get_next
    - functionName:    lws_get_vhost_listen_port
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1949
      functionLinenumberEnd: 1950
      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: 1943
      functionLinenumberEnd: 1944
      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: 1681
      functionLinenumberEnd: 1871
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         75
      ICount:          520
      EdgeCount:       95
      CyclomaticComplexity: 22
      functionsReached:
        - __errno_location
        - __lws_lc_untag
        - _lws_log
        - _lws_log_cx
        - lws_dll2_add_head
        - lws_dll2_is_detached
        - lws_dll2_remove
        - lws_log_prepend_vhost
        - lws_realloc
        - lws_ssl_SSL_CTX_destroy
        - lws_stub_destroy_all_on_vhost
        - lws_tls_ctx_ref_destroy_all
        - lwsl_vhost_get_cx
        - unlink
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1700,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/vhost.c:1701,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/vhost.c:1702,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/vhost.c:1726,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1726,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1726,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1745,2'
          Dst:             lws_stub_destroy_all_on_vhost
        - Src:             'lib/core-net/vhost.c:1752,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/vhost.c:1756,6'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/vhost.c:1757,3'
          Dst:             lws_dll2_add_head
        - Src:             'lib/core-net/vhost.c:1764,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/vhost.c:1776,5'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1784,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1786,2'
          Dst:             lws_tls_ctx_ref_destroy_all
        - Src:             'lib/core-net/vhost.c:1788,2'
          Dst:             lws_ssl_SSL_CTX_destroy
        - Src:             'lib/core-net/vhost.c:1789,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1796,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1811,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1812,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1813,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1814,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1815,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1816,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1817,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1819,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:1830,7'
          Dst:             unlink
        - Src:             'lib/core-net/vhost.c:1832,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1832,4'
          Dst:             __errno_location
        - Src:             'lib/core-net/vhost.c:1832,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1832,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1858,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/vhost.c:1867,2'
          Dst:             __lws_lc_untag
        - Src:             'lib/core-net/vhost.c:1870,2'
          Dst:             lws_realloc
    - functionName:    lwsl_vhost_get_cx
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2273
      functionLinenumberEnd: 2278
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    67
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_log_prepend_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2282
      functionLinenumberEnd: 2287
      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:    67
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:2286,8'
          Dst:             lws_vh_tag
        - Src:             'lib/core-net/vhost.c:2285,8'
          Dst:             lws_snprintf
    - functionName:    lws_vh_tag
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2267
      functionLinenumberEnd: 2268
      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:2268,9'
          Dst:             lws_lc_tag
    - functionName:    lws_vhost_destroy1
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1537
      functionLinenumberEnd: 1658
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         52
      ICount:          354
      EdgeCount:       67
      CyclomaticComplexity: 17
      functionsReached:
        - __lws_vhost_unbind_wsi
        - _lws_dll2_safe_next
        - _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:1541,2'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1541,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1541,2'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1559,2'
          Dst:             lws_tls_session_vh_destroy
        - Src:             'lib/core-net/vhost.c:1564,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/vhost.c:1581,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/vhost.c:1592,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/vhost.c:1594,8'
          Dst:             lws_vhost_compare_listen
        - Src:             'lib/core-net/vhost.c:1603,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1603,5'
          Dst:             lws_vh_tag
        - Src:             'lib/core-net/vhost.c:1603,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1603,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1606,5'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/vhost.c:1607,5'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/vhost.c:1620,5'
          Dst:             __lws_vhost_unbind_wsi
        - Src:             'lib/core-net/vhost.c:1621,5'
          Dst:             lws_vhost_bind_wsi
        - Src:             'lib/core-net/vhost.c:1581,2'
          Dst:             _lws_dll2_safe_next
        - Src:             'lib/core-net/vhost.c:1636,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/vhost.c:1640,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/vhost.c:1641,3'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/vhost.c:1636,2'
          Dst:             _lws_dll2_safe_next
    - functionName:    lws_vhost_compare_listen
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1501
      functionLinenumberEnd: 1504
      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:1503,32'
          Dst:             strcmp
    - functionName:    lws_vhost_foreach_listen_wsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1511
      functionLinenumberEnd: 1525
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          55
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_dll2_foreach_safe
        - lws_vhost_first
        - lws_vhost_next
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:1512,24'
          Dst:             lws_vhost_first
        - Src:             'lib/core-net/vhost.c:1517,7'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/core-net/vhost.c:1521,7'
          Dst:             lws_vhost_next
    - functionName:    __lws_vhost_destroy_pt_wsi_dieback_start
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1433
      functionLinenumberEnd: 1494
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         32
      ICount:          212
      EdgeCount:       42
      CyclomaticComplexity: 12
      functionsReached:
        - _lws_dll2_safe_next
        - _lws_log_cx
        - lws_dll2_get_head
        - 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:1455,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/vhost.c:1462,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1462,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1462,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1463,4'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/vhost.c:1455,2'
          Dst:             _lws_dll2_safe_next
        - Src:             'lib/core-net/vhost.c:1475,21'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/vhost.c:1479,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:1479,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1479,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:1482,4'
          Dst:             lws_set_timeout
    - functionName:    lws_destroy_event_pipe
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1410
      functionLinenumberEnd: 1419
      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:1413,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:1413,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1413,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:1415,6'
          Dst:             lws_wsi_extract_from_loop
        - Src:             'lib/core-net/vhost.c:1416,2'
          Dst:             lws_plat_pipe_close
        - Src:             'lib/core-net/vhost.c:1418,3'
          Dst:             lws_realloc
    - functionName:    __lws_create_event_pipes
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1351
      functionLinenumberEnd: 1406
      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:1372,9'
          Dst:             __lws_wsi_create_with_role
        - Src:             'lib/core-net/vhost.c:1377,3'
          Dst:             __lws_lc_tag
        - Src:             'lib/core-net/vhost.c:1383,8'
          Dst:             lws_plat_pipe_create
        - Src:             'lib/core-net/vhost.c:1396,8'
          Dst:             lws_wsi_inject_to_loop
    - functionName:    lws_cancel_service
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1333
      functionLinenumberEnd: 1347
      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:1340,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/vhost.c:1340,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1340,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/vhost.c:1344,4'
          Dst:             lws_plat_pipe_signal
    - functionName:    lws_cancel_service_pt
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1327
      functionLinenumberEnd: 1329
      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:1328,2'
          Dst:             lws_plat_pipe_signal
    - functionName:    lws_init_vhost_client_ssl
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1316
      functionLinenumberEnd: 1322
      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:1322,9'
          Dst:             lws_context_init_client_ssl
    - functionName:    lws_vhost_set_mounts
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1307
      functionLinenumberEnd: 1311
      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: 1901
      functionLinenumberEnd: 1938
      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:1907,2'
          Dst:             lws_vhost_destroy1
        - Src:             'lib/core-net/vhost.c:1911,2'
          Dst:             __lws_vhost_destroy_pt_wsi_dieback_start
        - Src:             'lib/core-net/vhost.c:1914,2'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1914,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1914,2'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1918,3'
          Dst:             __lws_vhost_destroy2
    - functionName:    lws_create_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 718
      functionLinenumberEnd: 1303
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         173
      ICount:          1553
      EdgeCount:       229
      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_dll2_add_tail
        - 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:    7
      BranchProfiles:
        - Branch String:   'lib/core-net/vhost.c:1145,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/vhost.c:756,33'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:756,8'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/vhost.c:776,33'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:790,8'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/vhost.c:792,9'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/vhost.c:794,9'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/vhost.c:797,2'
          Dst:             __lws_lc_tag
        - Src:             'lib/core-net/vhost.c:819,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:819,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:819,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:893,28'
          Dst:             lws_strdup
        - Src:             'lib/core-net/vhost.c:897,6'
          Dst:             lws_strdup
        - Src:             'lib/core-net/vhost.c:901,33'
          Dst:             lws_strdup
        - Src:             'lib/core-net/vhost.c:903,41'
          Dst:             lws_strdup
        - Src:             'lib/core-net/vhost.c:906,54'
          Dst:             lws_strdup
        - Src:             'lib/core-net/vhost.c:909,34'
          Dst:             lws_strdup
        - Src:             'lib/core-net/vhost.c:911,33'
          Dst:             lws_strdup
        - Src:             'lib/core-net/vhost.c:935,13'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:937,13'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:941,6'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:945,13'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:952,11'
          Dst:             strlen
        - Src:             'lib/core-net/vhost.c:981,10'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/vhost.c:995,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/vhost.c:1115,4'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/vhost.c:1140,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1140,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1140,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1147,4'
          Dst:             strcpy
        - Src:             'lib/core-net/vhost.c:1150,4'
          Dst:             strcpy
        - Src:             'lib/core-net/vhost.c:1153,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/vhost.c:1156,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1156,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1156,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1164,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1164,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1164,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1190,3'
          Dst:             lws_set_proxy
        - Src:             'lib/core-net/vhost.c:1198,7'
          Dst:             getenv
        - Src:             'lib/core-net/vhost.c:1200,4'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/vhost.c:1201,4'
          Dst:             lws_set_proxy
        - Src:             'lib/core-net/vhost.c:1218,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1218,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1218,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1243,6'
          Dst:             lws_context_init_server_ssl
        - Src:             'lib/core-net/vhost.c:1244,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1244,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1244,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1249,6'
          Dst:             lws_context_init_client_ssl
        - Src:             'lib/core-net/vhost.c:1250,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1250,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1250,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1259,7'
          Dst:             _lws_vhost_init_server
        - Src:             'lib/core-net/vhost.c:1262,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1262,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1262,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1271,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/vhost.c:1282,7'
          Dst:             lws_protocol_init
        - Src:             'lib/core-net/vhost.c:1283,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:1283,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:1283,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:1290,2'
          Dst:             lws_vhost_destroy
        - Src:             'lib/core-net/vhost.c:1295,2'
          Dst:             __lws_lc_untag
        - Src:             'lib/core-net/vhost.c:1297,2'
          Dst:             lws_realloc
    - functionName:    lws_protocol_init
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 638
      functionLinenumberEnd: 687
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         29
      ICount:          183
      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
        - lws_vhost_first
        - lws_vhost_next
        - lwsl_context_get_cx
        - lwsl_vhost_get_cx
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:639,25'
          Dst:             lws_vhost_first
        - Src:             'lib/core-net/vhost.c:647,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/vhost.c:647,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:647,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/vhost.c:658,7'
          Dst:             lws_protocol_init_vhost
        - Src:             'lib/core-net/vhost.c:659,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:659,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:659,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:663,8'
          Dst:             lws_vhost_next
        - Src:             'lib/core-net/vhost.c:669,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/vhost.c:669,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:669,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/vhost.c:675,4'
          Dst:             lws_finalize_startup
        - Src:             'lib/core-net/vhost.c:682,3'
          Dst:             lws_tls_check_all_cert_lifetimes
    - functionName:    lws_protocol_init_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 423
      functionLinenumberEnd: 629
      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:454,9'
          Dst:             lws_vhost_protocol_options
        - Src:             'lib/core-net/vhost.c:464,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:464,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:464,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:469,10'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:470,6'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:470,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:470,6'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:475,10'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:476,6'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:476,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:476,6'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:484,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:484,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:484,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:492,9'
          Dst:             lws_vhost_protocol_options
        - Src:             'lib/core-net/vhost.c:516,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:516,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:516,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:523,6'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:526,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:526,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:526,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:546,9'
          Dst:             lws_vhost_protocol_options
        - Src:             'lib/core-net/vhost.c:556,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:556,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:556,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:561,10'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:562,6'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:562,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:562,6'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:567,10'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:568,6'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:568,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:568,6'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:576,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:576,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:576,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:584,9'
          Dst:             lws_vhost_protocol_options
        - Src:             'lib/core-net/vhost.c:608,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:608,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:608,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:615,6'
          Dst:             lws_realloc
        - Src:             'lib/core-net/vhost.c:618,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:618,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:618,5'
          Dst:             lws_log_prepend_vhost
    - functionName:    lws_vhost_protocol_options
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 406
      functionLinenumberEnd: 419
      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:413,8'
          Dst:             strcmp
    - functionName:    lws_vhd_find_by_pvo
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 360
      functionLinenumberEnd: 402
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          137
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_vhost
        - lws_pvo_search
        - lws_vhost_first
        - lws_vhost_next
        - lwsl_vhost_get_cx
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:366,7'
          Dst:             lws_vhost_first
        - Src:             'lib/core-net/vhost.c:374,8'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:379,9'
          Dst:             lws_pvo_search
        - Src:             'lib/core-net/vhost.c:383,9'
          Dst:             lws_pvo_search
        - Src:             'lib/core-net/vhost.c:388,9'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:397,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:397,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:397,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:398,8'
          Dst:             lws_vhost_next
    - functionName:    lws_protocol_vh_priv_get
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 329
      functionLinenumberEnd: 355
      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:343,9'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:349,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:349,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:349,4'
          Dst:             lws_log_prepend_vhost
    - functionName:    lws_protocol_vh_priv_zalloc
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 288
      functionLinenumberEnd: 324
      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:296,39'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/vhost.c:311,9'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:317,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/vhost.c:317,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:317,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/vhost.c:322,32'
          Dst:             lws_zalloc
    - functionName:    lws_role_call_client_bind
      functionSourceFile: '/src/libwebsockets/lib/core-net/vhost.c'
      linkageType:     InternalLinkage
      functionLinenumber: 261
      functionLinenumberEnd: 282
      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: 180
      functionLinenumberEnd: 255
      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:191,4'
          Dst:             lws_role_by_name
        - Src:             'lib/core-net/vhost.c:197,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:197,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:197,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:200,8'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:213,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:213,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:213,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:218,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:218,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:218,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:244,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:244,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:244,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:    3
      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: 176
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         43
      ICount:          278
      EdgeCount:       59
      CyclomaticComplexity: 18
      functionsReached:
        - _lws_log_cx
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
        - strcmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/vhost.c:133,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:133,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:133,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:143,30'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:148,32'
          Dst:             strcmp
        - Src:             'lib/core-net/vhost.c:149,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/vhost.c:149,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/vhost.c:149,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/vhost.c:164,20'
          Dst:             strcmp
    - functionName:    lws_dll2_get_next
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 349
      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_vhost_next
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 931
      functionLinenumberEnd: 934
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_next
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:932,23'
          Dst:             lws_dll2_get_next
    - functionName:    lws_vhost_first
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 923
      functionLinenumberEnd: 926
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_head
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:924,23'
          Dst:             lws_dll2_get_head
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_callback_on_writable_all_protocol
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 663
      functionLinenumberEnd: 686
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          127
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - lws_callback_on_writable_all_protocol_vhost
        - lws_vhost_first
        - lws_vhost_next
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:670,10'
          Dst:             lws_vhost_first
        - Src:             'lib/core-net/pollfd.c:676,9'
          Dst:             strcmp
        - Src:             'lib/core-net/pollfd.c:679,4'
          Dst:             lws_callback_on_writable_all_protocol_vhost
        - Src:             'lib/core-net/pollfd.c:682,11'
          Dst:             lws_vhost_next
    - functionName:    lws_callback_on_writable_all_protocol_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 629
      functionLinenumberEnd: 658
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          202
      EdgeCount:       38
      CyclomaticComplexity: 10
      functionsReached:
        - __assert_fail
        - _lws_dll2_safe_next
        - _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:635,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/pollfd.c:635,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:635,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/pollfd.c:645,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/pollfd.c:649,3'
          Dst:             strcmp
        - Src:             'lib/core-net/pollfd.c:649,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/pollfd.c:653,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/pollfd.c:645,2'
          Dst:             _lws_dll2_safe_next
    - functionName:    lws_callback_on_writable
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 548
      functionLinenumberEnd: 575
      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:    58
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:563,7'
          Dst:             lws_get_network_wsi
        - Src:             'lib/core-net/pollfd.c:566,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/pollfd.c:566,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:566,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/pollfd.c:571,6'
          Dst:             __lws_change_pollfd
    - functionName:    __lws_change_pollfd
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 499
      functionLinenumberEnd: 529
      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:508,12'
          Dst:             lws_get_context
        - Src:             'lib/core-net/pollfd.c:519,8'
          Dst:             _lws_change_pollfd
    - functionName:    _lws_change_pollfd
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 210
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         61
      ICount:          443
      EdgeCount:       80
      CyclomaticComplexity: 21
      functionsReached:
        - __assert_fail
        - _lws_event_loop_ops_io
        - _lws_log_cx
        - lws_cancel_service_pt
        - lws_dll2_add_tail
        - lws_log_prepend_wsi
        - lws_plat_change_pollfd
        - lws_zalloc
        - 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_zalloc
        - Src:             'lib/core-net/pollfd.c:117,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/pollfd.c:121,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/pollfd.c:127,3'
          Dst:             lws_cancel_service_pt
        - Src:             'lib/core-net/pollfd.c:143,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/pollfd.c:168,3'
          Dst:             _lws_event_loop_ops_io
        - Src:             'lib/core-net/pollfd.c:171,3'
          Dst:             _lws_event_loop_ops_io
        - 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:190,7'
          Dst:             lws_plat_change_pollfd
        - Src:             'lib/core-net/pollfd.c:191,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/pollfd.c:191,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:191,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/pollfd.c:204,5'
          Dst:             lws_cancel_service_pt
    - functionName:    _lws_event_loop_ops_io
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 479
      functionLinenumberEnd: 495
      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: 612
      functionLinenumberEnd: 623
      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:619,2'
          Dst:             __lws_same_vh_protocol_remove
    - functionName:    __lws_same_vh_protocol_remove
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 605
      functionLinenumberEnd: 608
      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:607,3'
          Dst:             lws_dll2_remove
    - functionName:    lws_same_vh_protocol_insert
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 589
      functionLinenumberEnd: 601
      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:593,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/pollfd.c:594,2'
          Dst:             lws_dll2_add_head
    - functionName:    lws_change_pollfd
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 533
      functionLinenumberEnd: 543
      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:    36
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:540,8'
          Dst:             __lws_change_pollfd
    - functionName:    __remove_wsi_socket_from_fds
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 351
      functionLinenumberEnd: 475
      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:367,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/pollfd.c:367,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:367,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/pollfd.c:381,2'
          Dst:             __lws_same_vh_protocol_remove
        - Src:             'lib/core-net/pollfd.c:387,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/pollfd.c:390,3'
          Dst:             _lws_event_loop_ops_io
        - Src:             'lib/core-net/pollfd.c:400,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/pollfd.c:403,3'
          Dst:             delete_from_fd
        - Src:             'lib/core-net/pollfd.c:414,3'
          Dst:             lws_plat_delete_socket_from_fds
        - Src:             'lib/core-net/pollfd.c:420,14'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/pollfd.c:422,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/pollfd.c:422,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:422,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/pollfd.c:462,3'
          Dst:             lws_accept_modulation
    - functionName:    lws_accept_modulation
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 236
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          70
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_change_pollfd
        - lws_dll2_get_head
        - lws_vhost_first
        - lws_vhost_next
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:221,25'
          Dst:             lws_vhost_first
        - Src:             'lib/core-net/pollfd.c:225,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/pollfd.c:230,4'
          Dst:             _lws_change_pollfd
        - Src:             'lib/core-net/pollfd.c:234,8'
          Dst:             lws_vhost_next
    - functionName:    __insert_wsi_socket_into_fds
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 261
      functionLinenumberEnd: 345
      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:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/pollfd.c:272,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/pollfd.c:272,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:272,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/pollfd.c:276,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/pollfd.c:276,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:276,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/pollfd.c:284,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/pollfd.c:284,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:284,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/pollfd.c:291,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/pollfd.c:294,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/pollfd.c:298,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/pollfd.c:308,6'
          Dst:             insert_wsi
        - Src:             'lib/core-net/pollfd.c:319,2'
          Dst:             lws_plat_insert_socket_into_fds
        - Src:             'lib/core-net/pollfd.c:332,3'
          Dst:             lws_accept_modulation
    - functionName:    __dump_fds
      functionSourceFile: '/src/libwebsockets/lib/core-net/pollfd.c'
      linkageType:     InternalLinkage
      functionLinenumber: 242
      functionLinenumberEnd: 254
      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:245,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/pollfd.c:245,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:245,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/pollfd.c:248,21'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/pollfd.c:250,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/pollfd.c:250,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/pollfd.c:250,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/pollfd.c:250,3'
          Dst:             lws_log_prepend_context
    - functionName:    lws_dll2_count
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_service_tsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1029
      functionLinenumberEnd: 1062
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          95
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_plat_service_tsi
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/service.c:1051,6'
          Dst:             _lws_plat_service_tsi
    - functionName:    lws_service
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1001
      functionLinenumberEnd: 1025
      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:1019,6'
          Dst:             lws_plat_service
    - functionName:    lws_service_fd
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 995
      functionLinenumberEnd: 996
      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:996,9'
          Dst:             lws_service_fd_tsi
    - functionName:    lws_service_fd_tsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 959
      functionLinenumberEnd: 991
      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:970,8'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/service.c:983,8'
          Dst:             _lws_service_fd_tsi
    - functionName:    _lws_service_fd_tsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 743
      functionLinenumberEnd: 954
      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:843,3'
          Branch Sides:    []
        - Branch String:   'lib/core-net/service.c:899,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/service.c:761,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:764,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:767,8'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/service.c:796,8'
          Dst:             lws_client_connect_3_connect
        - Src:             'lib/core-net/service.c:808,9'
          Dst:             lws_buflist_total_len
        - Src:             'lib/core-net/service.c:815,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:815,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:815,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:826,4'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/service.c:837,6'
          Dst:             lws_is_ssl
        - Src:             'lib/core-net/service.c:843,11'
          Dst:             __lws_tls_shutdown
        - Src:             'lib/core-net/service.c:881,3'
          Dst:             __lws_change_pollfd
        - Src:             'lib/core-net/service.c:890,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:914,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:933,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/service.c:944,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:944,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:944,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:945,2'
          Dst:             lws_close_free_wsi
    - functionName:    lws_service_flag_pending
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 670
      functionLinenumberEnd: 738
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         39
      ICount:          277
      EdgeCount:       51
      CyclomaticComplexity: 14
      functionsReached:
        - _lws_dll2_safe_next
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/service.c:686,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/service.c:711,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/service.c:711,2'
          Dst:             _lws_dll2_safe_next
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_is_empty
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 344
      functionLinenumberEnd: 345
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_count
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'include/libwebsockets/lws-dll2.h:345,10'
          Dst:             lws_dll2_count
    - functionName:    lws_service_do_ripe_rxflow
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 619
      functionLinenumberEnd: 660
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         27
      ICount:          195
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_dll2_safe_next
        - _lws_log_cx
        - lws_close_free_wsi
        - lws_dll2_get_head
        - lws_dll2_is_empty
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/service.c:622,5'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/core-net/service.c:632,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/service.c:640,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:640,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:640,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:652,5'
          Dst:             lws_close_free_wsi
        - Src:             'lib/core-net/service.c:632,2'
          Dst:             _lws_dll2_safe_next
    - functionName:    lws_buflist_aware_finished_consuming
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 575
      functionLinenumberEnd: 615
      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:586,13'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/core-net/service.c:592,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:592,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:592,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:593,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/service.c:601,7'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core-net/service.c:607,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:607,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:607,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:608,8'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/service.c:609,5'
          Dst:             lws_dll2_add_head
    - functionName:    lws_buflist_aware_read
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 487
      functionLinenumberEnd: 570
      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:511,13'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/core-net/service.c:520,18'
          Dst:             lws_ssl_capable_read
        - Src:             'lib/core-net/service.c:522,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:522,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:522,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:526,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/service.c:544,7'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core-net/service.c:547,12'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/service.c:548,4'
          Dst:             lws_dll2_add_head
    - functionName:    lws_service_adjust_timeout
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 397
      functionLinenumberEnd: 477
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          252
      EdgeCount:       60
      CyclomaticComplexity: 18
      functionsReached:
        - __lws_sul_service_ripe
        - lws_dll2_get_head
        - lws_now_usecs
        - lws_protocol_init
        - lws_smd_message_pending
        - lws_smd_msg_distribute
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/service.c:404,21'
          Dst:             lws_protocol_init
        - Src:             'lib/core-net/service.c:408,14'
          Dst:             lws_smd_message_pending
        - Src:             'lib/core-net/service.c:409,3'
          Dst:             lws_smd_msg_distribute
        - Src:             'lib/core-net/service.c:410,7'
          Dst:             lws_smd_message_pending
        - Src:             'lib/core-net/service.c:423,36'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/service.c:422,7'
          Dst:             __lws_sul_service_ripe
        - Src:             'lib/core-net/service.c:460,2'
          Dst:             lws_dll2_get_head
    - functionName:    lws_rxflow_cache
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 347
      functionLinenumberEnd: 389
      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:354,9'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/core-net/service.c:365,5'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/core-net/service.c:366,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:366,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:366,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:377,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:377,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:377,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:378,6'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/core-net/service.c:383,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:383,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:383,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:384,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/service.c:385,4'
          Dst:             lws_dll2_add_head
    - functionName:    lws_handle_POLLOUT_event
      functionSourceFile: '/src/libwebsockets/lib/core-net/service.c'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 343
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         83
      ICount:          512
      EdgeCount:       109
      CyclomaticComplexity: 28
      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:248,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/service.c:152,8'
          Dst:             lws_client_connect_3_connect
        - Src:             'lib/core-net/service.c:188,6'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/service.c:189,7'
          Dst:             lws_issue_raw
        - Src:             'lib/core-net/service.c:190,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:190,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:190,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:241,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:257,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/service.c:266,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/service.c:267,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:267,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:267,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:280,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:280,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:280,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:281,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/service.c:282,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:282,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:282,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:312,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/service.c:312,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/service.c:312,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/service.c:318,6'
          Dst:             lws_callback_as_writeable
        - Src:             'lib/core-net/service.c:322,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:    45
      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:    29
      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: 323
      functionLinenumberEnd: 323
      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_dll2_count
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - 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:          186
      EdgeCount:       41
      CyclomaticComplexity: 11
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_dll2_count
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_system_do_attach
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/sorted-usec-list.c:106,6'
          Dst:             lws_dll2_count
        - 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_dll2_count
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_get_next
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 349
      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_apply_queue
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1731
      functionLinenumberEnd: 1801
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          179
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - _lws_dll2_safe_next
        - _lws_log_cx
        - lws_dll2_get_head
        - 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:1737,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/wsi.c:1741,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1741,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1741,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1741,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1747,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1747,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1747,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1749,4'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/wsi.c:1752,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi.c:1753,4'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/wsi.c:1757,4'
          Dst:             lws_wsi_h2_adopt
        - Src:             'lib/core-net/wsi.c:1737,2'
          Dst:             _lws_dll2_safe_next
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lwsl_wsi_get_cx
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1143
      functionLinenumberEnd: 1148
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    308
      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:    125
      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:    308
      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:    64
      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: 1716
      functionLinenumberEnd: 1727
      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:1724,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: 523
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         30
      ICount:          197
      EdgeCount:       40
      CyclomaticComplexity: 12
      functionsReached:
        - __lws_change_pollfd
        - __lws_rx_flow_control
        - _lws_log_cx
        - lws_buflist_next_segment_len
        - lws_callback_on_writable
        - lws_dll2_get_head
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:485,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/wsi.c:489,4'
          Dst:             __lws_rx_flow_control
        - Src:             'lib/core-net/wsi.c:497,6'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/core-net/wsi.c:499,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/wsi.c:507,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:507,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:507,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:513,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:513,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:513,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:515,7'
          Dst:             __lws_change_pollfd
        - Src:             'lib/core-net/wsi.c:516,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:516,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:516,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:519,13'
          Dst:             __lws_change_pollfd
    - functionName:    lws_wsi_tx_credit
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1703
      functionLinenumberEnd: 1709
      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: 1696
      functionLinenumberEnd: 1700
      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:1697,2'
          Dst:             _lws_log
    - functionName:    lws_wsi_txc_check_skint
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1670
      functionLinenumberEnd: 1692
      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:1679,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/wsi.c:1687,3'
          Dst:             _lws_log
    - functionName:    lws_wsi_mux_action_pending_writeable_reqs
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1644
      functionLinenumberEnd: 1668
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          101
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - lws_change_pollfd
        - lws_dll2_get_head
        - lws_get_network_wsi
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1645,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/core-net/wsi.c:1648,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/wsi.c:1653,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/wsi.c:1657,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/wsi.c:1664,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:    41
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_wsi_mux_move_child_to_tail
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1624
      functionLinenumberEnd: 1642
      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:1628,9'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/wsi.c:1634,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi.c:1635,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: 1601
      functionLinenumberEnd: 1615
      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:1610,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1610,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1610,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_wsi_mux_dump_waiting_children
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1584
      functionLinenumberEnd: 1599
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          89
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - lws_dll2_get_head
        - lws_log_prepend_wsi
        - lws_wsi_tag
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1586,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1586,2'
          Dst:             _lws_log
        - Src:             'lib/core-net/wsi.c:1589,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/wsi.c:1591,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1591,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1591,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_wsi_mux_sibling_disconnect
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1572
      functionLinenumberEnd: 1582
      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:1577,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi.c:1578,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1578,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1578,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1578,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_wsi_mux_close_children
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1555
      functionLinenumberEnd: 1570
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          118
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - __lws_close_free_wsi
        - _lws_dll2_safe_next
        - _lws_log_cx
        - lws_dll2_get_head
        - lws_dll2_is_empty
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1557,5'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/core-net/wsi.c:1560,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/wsi.c:1564,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1564,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1564,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1566,3'
          Dst:             __lws_close_free_wsi
        - Src:             'lib/core-net/wsi.c:1560,2'
          Dst:             _lws_dll2_safe_next
    - functionName:    lws_dll2_is_empty
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 344
      functionLinenumberEnd: 345
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_count
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'include/libwebsockets/lws-dll2.h:345,10'
          Dst:             lws_dll2_count
    - functionName:    lws_wsi_mux_dump_children
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1537
      functionLinenumberEnd: 1553
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          81
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log_cx
        - lws_dll2_get_head
        - lws_log_prepend_wsi
        - lws_wsi_tag
        - lwsl_wsi_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1546,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/wsi.c:1548,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1548,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1548,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1548,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_wsi_mux_from_id
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1526
      functionLinenumberEnd: 1535
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          60
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - lws_dll2_get_head
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1527,2'
          Dst:             lws_dll2_get_head
    - functionName:    lws_wsi_mux_insert
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1501
      functionLinenumberEnd: 1524
      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:1502,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1502,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1502,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1502,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1506,3'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1523,2'
          Dst:             lws_dll2_add_head
    - functionName:    lws_wsi_client_stash_item
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1461
      functionLinenumberEnd: 1472
      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:1468,9'
          Dst:             lws_hdr_simple_ptr
    - functionName:    lws_http_mark_sse
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1445
      functionLinenumberEnd: 1456
      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:1449,2'
          Dst:             lws_http_headers_detach
        - Src:             'lib/core-net/wsi.c:1450,2'
          Dst:             lws_mux_mark_immortal
    - functionName:    lws_mux_mark_immortal
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1413
      functionLinenumberEnd: 1443
      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:1416,2'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/wsi.c:1431,9'
          Dst:             lws_get_network_wsi
        - Src:             'lib/core-net/wsi.c:1435,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1435,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1435,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1435,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1439,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1442,3'
          Dst:             lws_set_timeout
    - functionName:    lws_wsi_keepalive_timeout_eff
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1475
      functionLinenumberEnd: 1495
      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: 1390
      functionLinenumberEnd: 1411
      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:1396,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1399,9'
          Dst:             lws_get_network_wsi
        - Src:             'lib/core-net/wsi.c:1400,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1400,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1400,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1400,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1402,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1410,5'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/core-net/wsi.c:1409,3'
          Dst:             lws_set_timeout
    - functionName:    lws_bind_protocol
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1336
      functionLinenumberEnd: 1388
      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:1348,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/wsi.c:1350,2'
          Dst:             lws_same_vh_protocol_remove
        - Src:             'lib/core-net/wsi.c:1356,6'
          Dst:             lws_ensure_user_space
        - Src:             'lib/core-net/wsi.c:1360,3'
          Dst:             lws_same_vh_protocol_insert
        - Src:             'lib/core-net/wsi.c:1368,32'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:1370,5'
          Dst:             lws_same_vh_protocol_insert
        - Src:             'lib/core-net/wsi.c:1376,4'
          Dst:             _lws_log
    - functionName:    lws_ensure_user_space
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 529
      functionLinenumberEnd: 554
      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:543,22'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/wsi.c:545,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:545,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:545,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:550,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:550,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:550,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_raw_transaction_completed
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1314
      functionLinenumberEnd: 1333
      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:1315,6'
          Dst:             lws_has_buffered_out
        - Src:             'lib/core-net/wsi.c:1325,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1325,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1325,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1327,3'
          Dst:             lws_callback_on_writable
    - functionName:    lws_has_buffered_out
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 581
      functionLinenumberEnd: 630
      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:583,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:583,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/wsi.c:589,22'
          Dst:             lws_get_network_wsi
        - Src:             'lib/core-net/wsi.c:592,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:592,4'
          Dst:             _lws_log
    - functionName:    _lws_generic_transaction_completed_active_conn
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1152
      functionLinenumberEnd: 1311
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         48
      ICount:          364
      EdgeCount:       60
      CyclomaticComplexity: 14
      functionsReached:
        - __assert_fail
        - __insert_wsi_socket_into_fds
        - __lws_change_pollfd
        - __lws_wsi_remove_from_sul
        - __remove_wsi_socket_from_fds
        - _lws_dll2_safe_next
        - _lws_log_cx
        - lws_dll2_add_tail
        - lws_dll2_get_head
        - lws_dll2_is_detached
        - lws_dll2_is_empty
        - 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:1162,6'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/wsi.c:1180,5'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/core-net/wsi.c:1185,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1185,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1185,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi.c:1186,3'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/wsi.c:1188,3'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/wsi.c:1201,9'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/wsi.c:1204,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1206,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi.c:1208,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1210,2'
          Dst:             __lws_change_pollfd
        - Src:             'lib/core-net/wsi.c:1215,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1219,6'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/wsi.c:1222,2'
          Dst:             sanity_assert_no_wsi_traces
        - Src:             'lib/core-net/wsi.c:1223,2'
          Dst:             sanity_assert_no_sockfd_traces
        - Src:             'lib/core-net/wsi.c:1226,2'
          Dst:             __lws_wsi_remove_from_sul
        - Src:             'lib/core-net/wsi.c:1244,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi.c:1246,6'
          Dst:             __insert_wsi_socket_into_fds
        - Src:             'lib/core-net/wsi.c:1276,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi.c:1277,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/wsi.c:1282,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/wsi.c:1286,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi.c:1287,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/wsi.c:1282,2'
          Dst:             _lws_dll2_safe_next
        - Src:             'lib/core-net/wsi.c:1301,2'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/wsi.c:1306,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:1306,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/wsi.c:1306,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:1306,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_get_context
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1139
      functionLinenumberEnd: 1140
      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: 1136
      functionLinenumberEnd: 1136
      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: 1131
      functionLinenumberEnd: 1132
      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: 1129
      functionLinenumberEnd: 1129
      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: 1127
      functionLinenumberEnd: 1127
      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: 1121
      functionLinenumberEnd: 1125
      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: 1117
      functionLinenumberEnd: 1118
      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: 1115
      functionLinenumberEnd: 1115
      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: 1113
      functionLinenumberEnd: 1113
      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: 1111
      functionLinenumberEnd: 1111
      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: 1107
      functionLinenumberEnd: 1109
      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: 1103
      functionLinenumberEnd: 1104
      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: 1099
      functionLinenumberEnd: 1101
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_get_opaque_user_data
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1095
      functionLinenumberEnd: 1096
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_set_opaque_parent_data
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1091
      functionLinenumberEnd: 1093
      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: 1087
      functionLinenumberEnd: 1088
      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: 1081
      functionLinenumberEnd: 1084
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1082,23'
          Dst:             lws_dll2_get_head
    - functionName:    lws_get_parent
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1078
      functionLinenumberEnd: 1078
      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: 1070
      functionLinenumberEnd: 1076
      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:1072,3'
          Dst:             lws_realloc
    - functionName:    lws_wsi_tsi
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1068
      functionLinenumberEnd: 1068
      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: 1066
      functionLinenumberEnd: 1066
      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_next
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 931
      functionLinenumberEnd: 934
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_next
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:932,23'
          Dst:             lws_dll2_get_next
    - functionName:    lws_vhost_first
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 923
      functionLinenumberEnd: 926
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:924,23'
          Dst:             lws_dll2_get_head
    - functionName:    lws_broadcast
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1036
      functionLinenumberEnd: 1063
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          122
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - lws_vhost_first
        - lws_vhost_next
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:1037,24'
          Dst:             lws_vhost_first
        - Src:             'lib/core-net/wsi.c:1060,7'
          Dst:             lws_vhost_next
    - functionName:    lws_pmo_get_str
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1027
      functionLinenumberEnd: 1032
      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:1031,9'
          Dst:             lws_pvo_get_str
    - functionName:    lws_pvo_get_str
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1003
      functionLinenumberEnd: 1013
      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:1005,3'
          Dst:             lws_pvo_search
    - functionName:    lws_pvo_search
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 991
      functionLinenumberEnd: 999
      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:993,8'
          Dst:             strcmp
    - functionName:    lws_pmo_search
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1017
      functionLinenumberEnd: 1022
      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:1021,9'
          Dst:             lws_pvo_search
    - functionName:    lws_is_cgi
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 981
      functionLinenumberEnd: 985
      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: 976
      functionLinenumberEnd: 977
      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: 963
      functionLinenumberEnd: 972
      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_wsi_request_uri
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 925
      functionLinenumberEnd: 951
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          67
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - lws_hdr_simple_ptr
        - lws_hdr_total_length
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:947,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/core-net/wsi.c:948,11'
          Dst:             lws_hdr_simple_ptr
    - functionName:    lws_get_urlarg_by_name
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 910
      functionLinenumberEnd: 913
      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:911,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: 855
      functionLinenumberEnd: 907
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          211
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - strlen
        - strncmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi.c:857,16'
          Dst:             strlen
        - Src:             'lib/core-net/wsi.c:879,6'
          Dst:             strncmp
    - functionName:    lws_parse_uri_destroy
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 845
      functionLinenumberEnd: 850
      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:847,3'
          Dst:             lws_realloc
    - functionName:    lws_parse_uri_create
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 750
      functionLinenumberEnd: 841
      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:752,17'
          Dst:             strlen
        - Src:             'lib/core-net/wsi.c:758,6'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/wsi.c:773,3'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/wsi.c:785,8'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:785,38'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:787,13'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:787,44'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:798,4'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/wsi.c:803,4'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/wsi.c:810,3'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/wsi.c:816,23'
          Dst:             atoi
        - Src:             'lib/core-net/wsi.c:829,5'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/wsi.c:831,5'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/wsi.c:835,4'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/wsi.c:838,3'
          Dst:             lws_strncpy
    - functionName:    lws_parse_uri
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 697
      functionLinenumberEnd: 745
      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:717,7'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:717,33'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:719,12'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:719,39'
          Dst:             strcmp
        - Src:             'lib/core-net/wsi.c:734,11'
          Dst:             atoi
    - functionName:    lws_get_peer_write_allowance
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 671
      functionLinenumberEnd: 677
      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: 669
      functionLinenumberEnd: 669
      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:669,52'
          Dst:             lws_has_buffered_out
    - functionName:    lws_has_unsent_buffered_out
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 632
      functionLinenumberEnd: 667
      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:638,22'
          Dst:             lws_get_network_wsi
    - functionName:    lws_get_ssl
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 578
      functionLinenumberEnd: 578
      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: 568
      functionLinenumberEnd: 570
      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: 566
      functionLinenumberEnd: 566
      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: 556
      functionLinenumberEnd: 564
      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:557,27'
          Dst:             lws_get_protocol
        - Src:             'lib/core-net/wsi.c:560,6'
          Dst:             lws_ensure_user_space
    - functionName:    lws_get_protocol
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi.c'
      linkageType:     InternalLinkage
      functionLinenumber: 525
      functionLinenumberEnd: 526
      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:    8
      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: 681
      functionLinenumberEnd: 694
      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:691,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi.c:691,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi.c:691,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:    6
      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:    12
      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: 336
      functionLinenumberEnd: 346
      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: 252
      functionLinenumberEnd: 300
      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:262,3'
          Dst:             lws_get_peer_simple
        - Src:             'lib/core-net/wsi-timeout.c:264,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:264,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:264,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:272,3'
          Dst:             __lws_close_free_wsi
        - Src:             'lib/core-net/wsi-timeout.c:281,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:281,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:281,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:293,2'
          Dst:             __assert_fail
        - Src:             'lib/core-net/wsi-timeout.c:296,2'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/wsi-timeout.c:296,2'
          Dst:             __lws_sul_insert
    - functionName:    _lws_validity_confirmed_role
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 309
      functionLinenumberEnd: 332
      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:322,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:322,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:322,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:327,2'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/wsi-timeout.c:327,2'
          Dst:             __lws_sul_insert
    - functionName:    lws_set_timeout_us
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 229
      functionLinenumberEnd: 248
      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:233,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi-timeout.c:240,2'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/wsi-timeout.c:240,2'
          Dst:             __lws_sul_insert
        - Src:             'lib/core-net/wsi-timeout.c:243,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:243,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:243,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_set_timeout
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 187
      functionLinenumberEnd: 225
      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:    69
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:192,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/wsi-timeout.c:199,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:199,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:199,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:201,3'
          Dst:             lws_close_free_wsi
        - Src:             'lib/core-net/wsi-timeout.c:211,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:211,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:211,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:217,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:217,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:217,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:220,2'
          Dst:             __lws_set_timeout
    - functionName:    __lws_set_timeout
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 183
      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:171,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:171,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:171,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:176,2'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/wsi-timeout.c:176,2'
          Dst:             __lws_sul_insert
        - Src:             'lib/core-net/wsi-timeout.c:180,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:180,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:180,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_sul_wsitimeout_cb
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          179
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - __lws_close_free_wsi
        - _lws_log_cx
        - lws_inform_client_conn_fail
        - lws_log_prepend_wsi
        - lws_wsi_request_uri
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/wsi-timeout.c:116,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:116,3'
          Dst:             lws_wsi_request_uri
        - Src:             'lib/core-net/wsi-timeout.c:116,3'
          Dst:             lws_wsi_request_uri
        - Src:             'lib/core-net/wsi-timeout.c:116,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:116,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:125,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/wsi-timeout.c:125,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/wsi-timeout.c:125,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/wsi-timeout.c:150,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/wsi-timeout.c:153,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/wsi-timeout.c:159,2'
          Dst:             __lws_close_free_wsi
    - functionName:    lws_set_timer_usecs
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 91
      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:88,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/wsi-timeout.c:90,3'
          Dst:             __lws_set_timer_usecs
    - functionName:    __lws_set_timer_usecs
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 82
      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:80,2'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/wsi-timeout.c:80,2'
          Dst:             __lws_sul_insert
    - functionName:    lws_sul_hrtimer_cb
      functionSourceFile: '/src/libwebsockets/lib/core-net/wsi-timeout.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 72
      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:70,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: 56
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          31
      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
        - Src:             'lib/core-net/wsi-timeout.c:41,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/wsi-timeout.c:42,2'
          Dst:             lws_sul_cancel
    - functionName:    lws_v6only_opt
      functionSourceFile: '/src/libwebsockets/lib/core-net/private-lib-core-net.h'
      linkageType:     InternalLinkage
      functionLinenumber: 222
      functionLinenumberEnd: 225
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_adopt_socket_vhost_readbuf
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1281
      functionLinenumberEnd: 1283
      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:1282,37'
          Dst:             lws_adopt_socket_vhost
        - Src:             'lib/core-net/adopt.c:1282,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:          329
      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:165,3'
          Dst:             lws_dll2_add_head
        - 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:231,3'
          Dst:             lws_dll2_remove
        - 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: 1272
      functionLinenumberEnd: 1274
      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:1273,37'
          Dst:             lws_adopt_socket
        - Src:             'lib/core-net/adopt.c:1273,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:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_adopt_socket_vhost
        - lws_vhost_first
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/adopt.c:640,32'
          Dst:             lws_vhost_first
        - Src:             'lib/core-net/adopt.c:640,9'
          Dst:             lws_adopt_socket_vhost
    - functionName:    lws_vhost_first
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 923
      functionLinenumberEnd: 926
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:924,23'
          Dst:             lws_dll2_get_head
    - functionName:    lws_create_adopt_udp2
      functionSourceFile: '/src/libwebsockets/lib/core-net/adopt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 724
      functionLinenumberEnd: 966
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         94
      ICount:          597
      EdgeCount:       126
      CyclomaticComplexity: 34
      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_v6only_opt
        - 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:856,8'
          Dst:             lws_sa46_is_ipv4_mapped
        - Src:             'lib/core-net/adopt.c:857,14'
          Dst:             lws_v6only_opt
        - Src:             'lib/core-net/adopt.c:858,8'
          Dst:             setsockopt
        - Src:             'lib/core-net/adopt.c:860,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/adopt.c:860,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:860,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/adopt.c:869,27'
          Dst:             htons
        - Src:             'lib/core-net/adopt.c:875,28'
          Dst:             htons
        - Src:             'lib/core-net/adopt.c:878,7'
          Dst:             setsockopt
        - Src:             'lib/core-net/adopt.c:880,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:883,7'
          Dst:             setsockopt
        - Src:             'lib/core-net/adopt.c:885,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:890,7'
          Dst:             lws_plat_BINDTODEVICE
        - Src:             'lib/core-net/adopt.c:891,4'
          Dst:             close
        - Src:             'lib/core-net/adopt.c:897,7'
          Dst:             bind
        - Src:             'lib/core-net/adopt.c:903,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:904,4'
          Dst:             close
        - Src:             'lib/core-net/adopt.c:911,8'
          Dst:             connect
        - Src:             'lib/core-net/adopt.c:913,8'
          Dst:             __errno_location
        - Src:             'lib/core-net/adopt.c:914,5'
          Dst:             __errno_location
        - Src:             'lib/core-net/adopt.c:914,5'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:919,5'
          Dst:             close
        - Src:             'lib/core-net/adopt.c:941,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/adopt.c:942,3'
          Dst:             lws_addrinfo_clean
        - Src:             'lib/core-net/adopt.c:943,10'
          Dst:             lws_adopt_descriptor_vhost2
        - Src:             'lib/core-net/adopt.c:947,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/adopt.c:950,2'
          Dst:             __errno_location
        - Src:             'lib/core-net/adopt.c:950,2'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:951,2'
          Dst:             lws_addrinfo_clean
        - Src:             'lib/core-net/adopt.c:963,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: 1127
      functionLinenumberEnd: 1266
      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:1132,2'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:1138,8'
          Dst:             __lws_adopt_descriptor_vhost1
        - Src:             'lib/core-net/adopt.c:1145,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/adopt.c:1187,3'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/adopt.c:1188,7'
          Dst:             getaddrinfo
        - Src:             'lib/core-net/adopt.c:1191,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/adopt.c:1191,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/adopt.c:1191,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/adopt.c:1207,9'
          Dst:             lws_create_adopt_udp2
        - Src:             'lib/core-net/adopt.c:1258,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_dll2_count
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_stub_destroy_all_on_vhost
      functionSourceFile: '/src/libwebsockets/lib/core-net/stub.c'
      linkageType:     InternalLinkage
      functionLinenumber: 695
      functionLinenumberEnd: 705
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          107
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_dll2_safe_next
        - lws_dll2_get_head
        - lws_stub_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/stub.c:696,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/stub.c:702,4'
          Dst:             lws_stub_destroy
        - Src:             'lib/core-net/stub.c:696,2'
          Dst:             _lws_dll2_safe_next
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_stub_destroy
      functionSourceFile: '/src/libwebsockets/lib/core-net/stub.c'
      linkageType:     InternalLinkage
      functionLinenumber: 618
      functionLinenumberEnd: 668
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         31
      ICount:          187
      EdgeCount:       40
      CyclomaticComplexity: 11
      functionsReached:
        - _lws_dll2_safe_next
        - lejp_destruct
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_realloc
        - lws_set_opaque_user_data
        - lws_spawn_piped_destroy
        - lws_spawn_piped_kill_child_process
        - lws_sul_cancel
        - unlink
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/stub.c:636,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/stub.c:639,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/stub.c:641,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/stub.c:643,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/stub.c:645,4'
          Dst:             lws_realloc
        - Src:             'lib/core-net/stub.c:647,4'
          Dst:             lejp_destruct
        - Src:             'lib/core-net/stub.c:648,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/stub.c:641,2'
          Dst:             _lws_dll2_safe_next
        - Src:             'lib/core-net/stub.c:652,3'
          Dst:             lws_set_opaque_user_data
        - Src:             'lib/core-net/stub.c:655,3'
          Dst:             lws_spawn_piped_kill_child_process
        - Src:             'lib/core-net/stub.c:662,3'
          Dst:             lws_spawn_piped_destroy
        - Src:             'lib/core-net/stub.c:665,2'
          Dst:             unlink
        - Src:             'lib/core-net/stub.c:667,2'
          Dst:             lws_realloc
    - functionName:    lws_stub_get_lsp
      functionSourceFile: '/src/libwebsockets/lib/core-net/stub.c'
      linkageType:     InternalLinkage
      functionLinenumber: 680
      functionLinenumberEnd: 685
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_stub_get_secret
      functionSourceFile: '/src/libwebsockets/lib/core-net/stub.c'
      linkageType:     InternalLinkage
      functionLinenumber: 672
      functionLinenumberEnd: 676
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_stub_request
      functionSourceFile: '/src/libwebsockets/lib/core-net/stub.c'
      linkageType:     InternalLinkage
      functionLinenumber: 578
      functionLinenumberEnd: 613
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          155
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - lejp_construct
        - lws_callback_on_writable
        - lws_dll2_add_tail
        - lws_dll2_owner
        - lws_realloc
        - lws_stub_client_connect
        - lws_zalloc
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/stub.c:579,29'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/stub.c:588,3'
          Dst:             lejp_construct
        - Src:             'lib/core-net/stub.c:590,13'
          Dst:             strlen
        - Src:             'lib/core-net/stub.c:591,16'
          Dst:             lws_realloc
        - Src:             'lib/core-net/stub.c:593,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/stub.c:599,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/stub.c:602,8'
          Dst:             lws_dll2_owner
        - Src:             'lib/core-net/stub.c:607,4'
          Dst:             lws_stub_client_connect
        - Src:             'lib/core-net/stub.c:610,3'
          Dst:             lws_callback_on_writable
    - functionName:    lws_dll2_owner
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 320
      functionLinenumberEnd: 320
      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_stub_client_connect
      functionSourceFile: '/src/libwebsockets/lib/core-net/stub.c'
      linkageType:     InternalLinkage
      functionLinenumber: 402
      functionLinenumberEnd: 451
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          217
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - _lws_log_cx
        - lws_client_connect_via_info
        - lws_log_prepend_vhost
        - lws_snprintf
        - lws_stub_child_is_alive
        - lws_sul_schedule
        - lwsl_vhost_get_cx
        - stub_retry_cb
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/stub.c:414,2'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/stub.c:426,2'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/stub.c:426,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/stub.c:426,2'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/stub.c:427,20'
          Dst:             lws_client_connect_via_info
        - Src:             'lib/core-net/stub.c:436,17'
          Dst:             lws_stub_child_is_alive
        - Src:             'lib/core-net/stub.c:437,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/stub.c:437,5'
          Dst:             __errno_location
        - Src:             'lib/core-net/stub.c:437,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/stub.c:437,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/stub.c:444,4'
          Dst:             lws_sul_schedule
        - Src:             'lib/core-net/stub.c:444,4'
          Dst:             stub_retry_cb
    - functionName:    lws_stub_child_is_alive
      functionSourceFile: '/src/libwebsockets/lib/core-net/stub.c'
      linkageType:     InternalLinkage
      functionLinenumber: 384
      functionLinenumberEnd: 397
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          75
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - kill
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/stub.c:391,6'
          Dst:             kill
        - Src:             'lib/core-net/stub.c:391,43'
          Dst:             __errno_location
    - functionName:    stub_retry_cb
      functionSourceFile: '/src/libwebsockets/lib/core-net/stub.c'
      linkageType:     InternalLinkage
      functionLinenumber: 455
      functionLinenumberEnd: 460
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_stub_client_connect
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/stub.c:459,3'
          Dst:             lws_stub_client_connect
    - 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:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_is_empty
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 344
      functionLinenumberEnd: 345
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_count
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'include/libwebsockets/lws-dll2.h:345,10'
          Dst:             lws_dll2_count
    - functionName:    lws_callback_stub_client
      functionSourceFile: '/src/libwebsockets/lib/core-net/stub.c'
      linkageType:     InternalLinkage
      functionLinenumber: 465
      functionLinenumberEnd: 568
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         60
      ICount:          424
      EdgeCount:       76
      CyclomaticComplexity: 18
      functionsReached:
        - _lws_log_cx
        - lejp_destruct
        - lejp_parse
        - lws_callback_on_writable
        - lws_dll2_get_head
        - lws_dll2_is_empty
        - lws_dll2_remove
        - lws_get_opaque_user_data
        - lws_log_prepend_vhost
        - lws_realloc
        - lws_retry_sul_schedule
        - lws_stub_child_is_alive
        - lws_write
        - lwsl_vhost_get_cx
        - stub_retry_cb
      functionUses:    0
      BranchProfiles:
        - Branch String:   'lib/core-net/stub.c:470,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/stub.c:466,60'
          Dst:             lws_get_opaque_user_data
        - Src:             'lib/core-net/stub.c:473,15'
          Dst:             lws_stub_child_is_alive
        - Src:             'lib/core-net/stub.c:474,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/stub.c:474,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/stub.c:474,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/stub.c:480,3'
          Dst:             lws_retry_sul_schedule
        - Src:             'lib/core-net/stub.c:480,3'
          Dst:             stub_retry_cb
        - Src:             'lib/core-net/stub.c:485,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/stub.c:485,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/stub.c:485,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/stub.c:489,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/stub.c:493,24'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/stub.c:499,12'
          Dst:             lws_write
        - Src:             'lib/core-net/stub.c:507,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/stub.c:510,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/stub.c:511,4'
          Dst:             lws_realloc
        - Src:             'lib/core-net/stub.c:512,4'
          Dst:             lws_realloc
        - Src:             'lib/core-net/stub.c:515,8'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/core-net/stub.c:516,5'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/stub.c:522,24'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/stub.c:531,12'
          Dst:             lejp_parse
        - Src:             'lib/core-net/stub.c:533,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/stub.c:533,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/stub.c:533,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/stub.c:534,5'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/stub.c:535,5'
          Dst:             lws_realloc
        - Src:             'lib/core-net/stub.c:536,5'
          Dst:             lejp_destruct
        - Src:             'lib/core-net/stub.c:537,5'
          Dst:             lws_realloc
    - functionName:    lws_stub_server_init
      functionSourceFile: '/src/libwebsockets/lib/core-net/stub.c'
      linkageType:     InternalLinkage
      functionLinenumber: 305
      functionLinenumberEnd: 364
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          202
      EdgeCount:       41
      CyclomaticComplexity: 12
      functionsReached:
        - _lws_log
        - chmod
        - lws_create_vhost
        - read
        - unlink
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/stub.c:317,15'
          Dst:             read
        - Src:             'lib/core-net/stub.c:324,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/stub.c:333,15'
          Dst:             read
        - Src:             'lib/core-net/stub.c:335,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/stub.c:348,2'
          Dst:             unlink
        - Src:             'lib/core-net/stub.c:349,11'
          Dst:             lws_create_vhost
        - Src:             'lib/core-net/stub.c:351,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/stub.c:357,2'
          Dst:             chmod
        - Src:             'lib/core-net/stub.c:361,2'
          Dst:             _lws_log
    - functionName:    lws_stub_spawn
      functionSourceFile: '/src/libwebsockets/lib/core-net/stub.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 299
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         46
      ICount:          480
      EdgeCount:       62
      CyclomaticComplexity: 18
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - lws_create_vhost
        - lws_dll2_add_tail
        - lws_dll2_owner
        - lws_get_random
        - lws_hex_from_byte_array
        - lws_log_prepend_vhost
        - lws_snprintf
        - lws_spawn_get_fd_stdxxx
        - lws_spawn_piped
        - lws_strncpy
        - lws_stub_client_connect
        - lws_stub_destroy
        - lws_zalloc
        - lwsl_vhost_get_cx
        - readlink
        - write
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/stub.c:117,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/stub.c:125,8'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/stub.c:133,3'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/stub.c:136,3'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/stub.c:146,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/stub.c:149,2'
          Dst:             lws_get_random
        - Src:             'lib/core-net/stub.c:150,2'
          Dst:             lws_hex_from_byte_array
        - Src:             'lib/core-net/stub.c:163,16'
          Dst:             readlink
        - Src:             'lib/core-net/stub.c:214,2'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/stub.c:214,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/stub.c:214,2'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/stub.c:216,2'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/stub.c:226,13'
          Dst:             lws_spawn_piped
        - Src:             'lib/core-net/stub.c:228,30'
          Dst:             lws_spawn_get_fd_stdxxx
        - Src:             'lib/core-net/stub.c:248,8'
          Dst:             write
        - Src:             'lib/core-net/stub.c:249,5'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/stub.c:249,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/stub.c:249,5'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/stub.c:253,9'
          Dst:             write
        - Src:             'lib/core-net/stub.c:254,6'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/stub.c:254,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/stub.c:254,6'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/stub.c:259,4'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/stub.c:259,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/stub.c:259,4'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/stub.c:264,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/stub.c:264,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/stub.c:264,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/stub.c:265,3'
          Dst:             lws_stub_destroy
        - Src:             'lib/core-net/stub.c:269,2'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/stub.c:269,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/stub.c:269,2'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/stub.c:278,3'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/stub.c:281,20'
          Dst:             lws_create_vhost
        - Src:             'lib/core-net/stub.c:285,3'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/stub.c:285,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/stub.c:285,3'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/stub.c:290,7'
          Dst:             lws_dll2_owner
        - Src:             'lib/core-net/stub.c:291,3'
          Dst:             lws_stub_client_connect
        - Src:             'lib/core-net/stub.c:296,2'
          Dst:             lwsl_vhost_get_cx
        - Src:             'lib/core-net/stub.c:296,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/stub.c:296,2'
          Dst:             lws_log_prepend_vhost
        - Src:             'lib/core-net/stub.c:297,2'
          Dst:             lws_stub_destroy
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_vhost_first
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 923
      functionLinenumberEnd: 926
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:924,23'
          Dst:             lws_dll2_get_head
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_dll2_count
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_is_empty
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 344
      functionLinenumberEnd: 345
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_count
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'include/libwebsockets/lws-dll2.h:345,10'
          Dst:             lws_dll2_count
    - 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:         22
      ICount:          158
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - _lws_dll2_safe_next
        - _lws_log
        - lws_dll2_get_head
        - 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:58,2'
          Dst:             lws_dll2_get_head
        - 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:58,2'
          Dst:             _lws_dll2_safe_next
        - 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: 203
      functionLinenumberEnd: 238
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          125
      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
        - lws_vhost_first
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/async-ipc.c:219,21'
          Dst:             lws_get_vhost_by_name
        - Src:             'lib/core-net/async-ipc.c:221,13'
          Dst:             lws_vhost_first
        - Src:             'lib/core-net/async-ipc.c:228,2'
          Dst:             lws_sul_schedule
        - Src:             'lib/core-net/async-ipc.c:228,2'
          Dst:             lws_async_ipc_timeout_cb
        - Src:             'lib/core-net/async-ipc.c:230,13'
          Dst:             lws_client_connect_via_info
        - Src:             'lib/core-net/async-ipc.c:233,3'
          Dst:             lws_sul_cancel
    - functionName:    lws_async_ipc_queue_payload
      functionSourceFile: '/src/libwebsockets/lib/core-net/async-ipc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 296
      functionLinenumberEnd: 313
      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:297,34'
          Dst:             lws_realloc
        - Src:             'lib/core-net/async-ipc.c:305,2'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/async-ipc.c:308,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/async-ipc.c:310,3'
          Dst:             lws_async_ipc_connect
    - functionName:    lws_async_ipc_destroy
      functionSourceFile: '/src/libwebsockets/lib/core-net/async-ipc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 260
      functionLinenumberEnd: 291
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         25
      ICount:          166
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - _lws_dll2_safe_next
        - lws_dll2_get_head
        - lws_dll2_remove
        - lws_realloc
        - lws_set_timeout
        - lws_sul_cancel
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/async-ipc.c:266,3'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/async-ipc.c:270,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/async-ipc.c:272,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/async-ipc.c:274,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/async-ipc.c:275,3'
          Dst:             lws_realloc
        - Src:             'lib/core-net/async-ipc.c:272,2'
          Dst:             _lws_dll2_safe_next
        - Src:             'lib/core-net/async-ipc.c:289,2'
          Dst:             lws_realloc
    - functionName:    lws_async_ipc_create
      functionSourceFile: '/src/libwebsockets/lib/core-net/async-ipc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 242
      functionLinenumberEnd: 256
      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:243,30'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/async-ipc.c:249,3'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/async-ipc.c:251,3'
          Dst:             lws_strncpy
    - functionName:    callback_async_ipc
      functionSourceFile: '/src/libwebsockets/lib/core-net/async-ipc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         75
      ICount:          450
      EdgeCount:       93
      CyclomaticComplexity: 20
      functionsReached:
        - _lws_dll2_safe_next
        - _lws_log
        - lws_async_ipc_timeout_cb
        - lws_callback_http_dummy
        - lws_callback_on_writable
        - lws_dll2_get_head
        - lws_dll2_is_empty
        - 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:106,4'
          Dst:             lws_dll2_get_head
        - 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:106,4'
          Dst:             _lws_dll2_safe_next
        - 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_dll2_get_head
        - Src:             'lib/core-net/async-ipc.c:138,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/async-ipc.c:140,14'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/async-ipc.c:141,36'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/async-ipc.c:145,19'
          Dst:             lws_realloc
        - Src:             'lib/core-net/async-ipc.c:148,13'
          Dst:             lws_write
        - Src:             'lib/core-net/async-ipc.c:149,5'
          Dst:             lws_realloc
        - Src:             'lib/core-net/async-ipc.c:152,6'
          Dst:             _lws_log
        - Src:             'lib/core-net/async-ipc.c:156,5'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/async-ipc.c:157,5'
          Dst:             lws_realloc
        - Src:             'lib/core-net/async-ipc.c:160,5'
          Dst:             lws_sul_schedule
        - Src:             'lib/core-net/async-ipc.c:160,5'
          Dst:             lws_async_ipc_timeout_cb
        - Src:             'lib/core-net/async-ipc.c:163,8'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/core-net/async-ipc.c:164,5'
          Dst:             lws_callback_on_writable
        - Src:             'lib/core-net/async-ipc.c:170,3'
          Dst:             _lws_log
        - Src:             'lib/core-net/async-ipc.c:173,4'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/async-ipc.c:186,4'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/async-ipc.c:194,9'
          Dst:             lws_callback_http_dummy
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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:    _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:          87
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log_cx
        - _systnm
        - lws_dll2_get_head
        - lws_log_prepend_context
        - lwsl_context_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/state.c:69,2'
          Dst:             lws_dll2_get_head
        - 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:    8
      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_dll2_get_next
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 349
      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_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_vhost_next
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 931
      functionLinenumberEnd: 934
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_next
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:932,23'
          Dst:             lws_dll2_get_next
    - functionName:    lws_vhost_first
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 923
      functionLinenumberEnd: 926
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:924,23'
          Dst:             lws_dll2_get_head
    - functionName:    lws_client_connect_via_info
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 658
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         182
      ICount:          1496
      EdgeCount:       242
      CyclomaticComplexity: 62
      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_add_head
        - 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_first
        - lws_vhost_name_to_protocol
        - lws_vhost_next
        - lws_wsi_tag
        - lwsl_context_get_cx
        - lwsl_wsi_get_cx
        - strcmp
        - strlen
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib/core-net/client/connect.c:604,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:190,10'
          Dst:             lws_vhost_first
        - 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:197,11'
          Dst:             lws_vhost_next
        - 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:360,10'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect.c:373,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:373,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:373,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:389,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:389,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:389,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:395,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:395,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/client/connect.c:395,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:395,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:437,2'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect.c:457,6'
          Dst:             lws_client_stash_create
        - Src:             'lib/core-net/client/connect.c:462,3'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/client/connect.c:496,4'
          Dst:             lws_ss_tag
        - Src:             'lib/core-net/client/connect.c:476,3'
          Dst:             __lws_lc_tag
        - Src:             'lib/core-net/client/connect.c:499,3'
          Dst:             __lws_lc_tag
        - Src:             'lib/core-net/client/connect.c:513,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:513,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/core-net/client/connect.c:513,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:513,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:516,3'
          Dst:             lws_dll2_add_head
        - Src:             'lib/core-net/client/connect.c:532,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/client/connect.c:562,8'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:563,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:563,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:563,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:578,22'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:579,7'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:580,16'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:591,7'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect.c:604,12'
          Dst:             lws_client_create_tls
        - Src:             'lib/core-net/client/connect.c:618,9'
          Dst:             lws_http_client_connect_via_info2
        - Src:             'lib/core-net/client/connect.c:632,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect.c:632,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect.c:632,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect.c:633,2'
          Dst:             lws_close_free_wsi
        - Src:             'lib/core-net/client/connect.c:642,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/client/connect.c:646,3'
          Dst:             lws_tls_restrict_return
        - Src:             'lib/core-net/client/connect.c:649,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/client/connect.c:651,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_dll2_count
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_client_connect_2_dnsreq_MAY_CLOSE_WSI
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 590
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         112
      ICount:          733
      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_count
        - 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:477,11'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/core-net/client/connect2.c:480,6'
          Dst:             inet_pton
        - Src:             'lib/core-net/client/connect2.c:481,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect2.c:481,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect2.c:481,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect2.c:522,2'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect2.c:524,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect2.c:524,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect2.c:524,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect2.c:529,7'
          Dst:             lws_dll2_count
        - Src:             'lib/core-net/client/connect2.c:533,7'
          Dst:             lws_getaddrinfo46
        - Src:             'lib/core-net/client/connect2.c:543,4'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/client/connect2.c:582,9'
          Dst:             lws_client_connect_3_connect
        - Src:             'lib/core-net/client/connect2.c:586,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: 323
      functionLinenumberEnd: 323
      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: 377
      functionLinenumberEnd: 381
      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: 232
      functionLinenumberEnd: 321
      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:250,7'
          Dst:             getsockopt
        - Src:             'lib/core-net/client/connect3.c:252,8'
          Dst:             __errno_location
        - Src:             'lib/core-net/client/connect3.c:254,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:254,4'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:254,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:254,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:260,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:260,3'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:260,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:260,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:317,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:317,2'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:317,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:317,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_dll2_owner
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 320
      functionLinenumberEnd: 320
      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_dll2_count
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_client_connect_3_https_cb
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 387
      functionLinenumberEnd: 396
      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:394,6'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/client/connect3.c:392,3'
          Dst:             lws_cache_write_through
    - functionName:    lws_remove_parallel_fd_safely
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 334
      functionLinenumberEnd: 373
      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:354,2'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/client/connect3.c:358,3'
          Dst:             close
    - functionName:    lws_client_dns_retry_timeout
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 214
      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:211,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:211,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:211,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:212,7'
          Dst:             lws_client_connect_2_dnsreq_MAY_CLOSE_WSI
        - Src:             'lib/core-net/client/connect3.c:213,3'
          Dst:             _lws_log
    - functionName:    lws_client_h3_grace_cb
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 197
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         62
      ICount:          418
      EdgeCount:       84
      CyclomaticComplexity: 24
      functionsReached:
        - _lws_log_cx
        - lws_cache_write_through
        - lws_client_reset
        - lws_close_free_wsi
        - lws_hdr_simple_ptr
        - lws_log_prepend_wsi
        - lws_now_usecs
        - lws_snprintf
        - lws_strncpy
        - lwsl_wsi_get_cx
        - strcmp
        - strstr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/connect3.c:81,24'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect3.c:84,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:84,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:84,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:93,6'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/client/connect3.c:91,3'
          Dst:             lws_cache_write_through
        - Src:             'lib/core-net/client/connect3.c:109,3'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:113,6'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/client/connect3.c:111,3'
          Dst:             lws_cache_write_through
        - Src:             'lib/core-net/client/connect3.c:155,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/core-net/client/connect3.c:157,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/core-net/client/connect3.c:169,7'
          Dst:             strstr
        - Src:             'lib/core-net/client/connect3.c:170,23'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/core-net/client/connect3.c:173,17'
          Dst:             strstr
        - Src:             'lib/core-net/client/connect3.c:176,4'
          Dst:             lws_strncpy
        - Src:             'lib/core-net/client/connect3.c:181,8'
          Dst:             lws_client_reset
        - Src:             'lib/core-net/client/connect3.c:187,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:187,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:187,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:195,3'
          Dst:             lws_close_free_wsi
    - 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_3_connect
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 402
      functionLinenumberEnd: 1547
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         436
      ICount:          3214
      EdgeCount:       590
      CyclomaticComplexity: 156
      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_count
        - lws_dll2_get_head
        - lws_dll2_is_detached
        - lws_dll2_owner
        - 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:559,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/client/connect3.c:446,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/client/connect3.c:450,3'
          Dst:             lws_conmon_append_copy_new_dns_results
        - Src:             'lib/core-net/client/connect3.c:453,3'
          Dst:             lws_sort_dns
        - Src:             'lib/core-net/client/connect3.c:457,3'
          Dst:             freeaddrinfo
        - Src:             'lib/core-net/client/connect3.c:472,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/core-net/client/connect3.c:476,7'
          Dst:             lws_dll2_count
        - Src:             'lib/core-net/client/connect3.c:478,7'
          Dst:             lws_dll2_count
        - Src:             'lib/core-net/client/connect3.c:479,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:479,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:479,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:486,3'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect3.c:487,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/core-net/client/connect3.c:487,3'
          Dst:             lws_client_dns_retry_timeout
        - Src:             'lib/core-net/client/connect3.c:505,40'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect3.c:505,79'
          Dst:             lws_dll2_owner
        - Src:             'lib/core-net/client/connect3.c:509,50'
          Dst:             lws_dll2_owner
        - Src:             'lib/core-net/client/connect3.c:559,12'
          Dst:             lws_client_connect_check
        - Src:             'lib/core-net/client/connect3.c:564,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:564,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:564,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:567,10'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/client/connect3.c:579,5'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/client/connect3.c:581,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:581,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:581,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:598,6'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/client/connect3.c:611,7'
          Dst:             close
        - Src:             'lib/core-net/client/connect3.c:613,6'
          Dst:             promote_parallel_fd
        - Src:             'lib/core-net/client/connect3.c:619,7'
          Dst:             lws_remove_parallel_fd_safely
        - Src:             'lib/core-net/client/connect3.c:640,19'
          Dst:             __errno_location
        - Src:             'lib/core-net/client/connect3.c:642,11'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:641,5'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:644,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:644,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:644,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:648,6'
          Dst:             lws_remove_parallel_fd_safely
        - Src:             'lib/core-net/client/connect3.c:653,6'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/client/connect3.c:655,6'
          Dst:             close
        - Src:             'lib/core-net/client/connect3.c:678,8'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:678,8'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:678,8'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:681,8'
          Dst:             promote_parallel_fd
        - Src:             'lib/core-net/client/connect3.c:705,9'
          Dst:             lws_dll2_count
        - Src:             'lib/core-net/client/connect3.c:717,3'
          Dst:             strncpy
        - Src:             'lib/core-net/client/connect3.c:720,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:720,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:720,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:747,7'
          Dst:             lws_dll2_count
        - Src:             'lib/core-net/client/connect3.c:750,9'
          Dst:             lws_dll2_count
        - Src:             'lib/core-net/client/connect3.c:758,6'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/client/connect3.c:761,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/core-net/client/connect3.c:766,3'
          Dst:             htons
        - Src:             'lib/core-net/client/connect3.c:766,3'
          Dst:             htons
        - Src:             'lib/core-net/client/connect3.c:771,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:771,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:771,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:774,2'
          Dst:             lws_realloc
        - Src:             'lib/core-net/client/connect3.c:776,2'
          Dst:             htons
        - Src:             'lib/core-net/client/connect3.c:776,2'
          Dst:             htons
        - Src:             'lib/core-net/client/connect3.c:808,13'
          Dst:             socket
        - Src:             'lib/core-net/client/connect3.c:816,46'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect3.c:820,13'
          Dst:             socket
        - Src:             'lib/core-net/client/connect3.c:823,9'
          Dst:             setsockopt
        - Src:             'lib/core-net/client/connect3.c:824,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:824,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:824,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:826,9'
          Dst:             setsockopt
        - Src:             'lib/core-net/client/connect3.c:827,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:827,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:827,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:833,9'
          Dst:             __errno_location
        - Src:             'lib/core-net/client/connect3.c:837,10'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:835,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:839,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:839,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:839,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:845,20'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect3.c:845,64'
          Dst:             lws_plat_set_socket_options
        - Src:             'lib/core-net/client/connect3.c:854,9'
          Dst:             __errno_location
        - Src:             'lib/core-net/client/connect3.c:858,10'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:856,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:860,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:860,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:860,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:861,4'
          Dst:             close
        - Src:             'lib/core-net/client/connect3.c:867,20'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect3.c:871,8'
          Dst:             lws_plat_set_nonblocking
        - Src:             'lib/core-net/client/connect3.c:873,5'
          Dst:             close
        - Src:             'lib/core-net/client/connect3.c:880,7'
          Dst:             lws_plat_set_socket_options_ip
        - Src:             'lib/core-net/client/connect3.c:882,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:882,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:882,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:885,39'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect3.c:891,29'
          Dst:             setsockopt
        - Src:             'lib/core-net/client/connect3.c:892,33'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:892,33'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:892,33'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:895,29'
          Dst:             setsockopt
        - Src:             'lib/core-net/client/connect3.c:896,33'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:896,33'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:896,33'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:900,29'
          Dst:             setsockopt
        - Src:             'lib/core-net/client/connect3.c:901,33'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:901,33'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:901,33'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:904,29'
          Dst:             setsockopt
        - Src:             'lib/core-net/client/connect3.c:905,33'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:905,33'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:905,33'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:911,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:911,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:911,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:912,3'
          Dst:             lwsi_set_state
        - Src:             'lib/core-net/client/connect3.c:930,5'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:933,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:933,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:933,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:938,5'
          Dst:             close
        - Src:             'lib/core-net/client/connect3.c:943,5'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:946,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:946,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:946,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:948,5'
          Dst:             close
        - Src:             'lib/core-net/client/connect3.c:954,7'
          Dst:             __insert_wsi_socket_into_fds
        - Src:             'lib/core-net/client/connect3.c:955,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:962,5'
          Dst:             close
        - Src:             'lib/core-net/client/connect3.c:983,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/client/connect3.c:984,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:993,3'
          Dst:             lws_set_timeout
        - Src:             'lib/core-net/client/connect3.c:996,11'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/core-net/client/connect3.c:999,16'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/core-net/client/connect3.c:1002,43'
          Dst:             atoi
        - Src:             'lib/core-net/client/connect3.c:1004,24'
          Dst:             atoi
        - Src:             'lib/core-net/client/connect3.c:1003,8'
          Dst:             lws_socket_bind
        - Src:             'lib/core-net/client/connect3.c:1006,5'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:1036,33'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect3.c:1040,6'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect3.c:1075,6'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/core-net/client/connect3.c:1078,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1078,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1078,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1085,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/client/connect3.c:1086,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1086,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1086,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1100,7'
          Dst:             connect
        - Src:             'lib/core-net/client/connect3.c:1114,22'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/client/connect3.c:1126,20'
          Dst:             __errno_location
        - Src:             'lib/core-net/client/connect3.c:1134,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1134,3'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:1134,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1134,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1153,7'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/client/connect3.c:1165,4'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/client/connect3.c:1170,10'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:1168,4'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:1175,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1175,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1175,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1180,11'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:1178,5'
          Dst:             lws_snprintf
        - Src:             'lib/core-net/client/connect3.c:1182,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1182,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1182,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1187,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1187,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1187,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1213,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/core-net/client/connect3.c:1230,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/core-net/client/connect3.c:1230,3'
          Dst:             lws_client_conn_wait_timeout
        - Src:             'lib/core-net/client/connect3.c:1236,7'
          Dst:             lws_dll2_count
        - Src:             'lib/core-net/client/connect3.c:1238,4'
          Dst:             lws_sul_schedule
        - Src:             'lib/core-net/client/connect3.c:1238,4'
          Dst:             lws_client_happy_eyeballs_cb
        - Src:             'lib/core-net/client/connect3.c:1262,47'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect3.c:1268,9'
          Dst:             lws_cache_item_get
        - Src:             'lib/core-net/client/connect3.c:1301,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1301,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1301,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1303,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1303,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1303,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1304,4'
          Dst:             lws_sul_schedule
        - Src:             'lib/core-net/client/connect3.c:1304,4'
          Dst:             lws_client_h3_grace_cb
        - Src:             'lib/core-net/client/connect3.c:1307,8'
          Dst:             lws_dll2_count
        - Src:             'lib/core-net/client/connect3.c:1309,5'
          Dst:             lws_sul_schedule
        - Src:             'lib/core-net/client/connect3.c:1309,5'
          Dst:             lws_client_happy_eyeballs_cb
        - Src:             'lib/core-net/client/connect3.c:1319,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1319,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1319,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1326,3'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/client/connect3.c:1336,4'
          Dst:             close
        - Src:             'lib/core-net/client/connect3.c:1338,3'
          Dst:             promote_parallel_fd
        - Src:             'lib/core-net/client/connect3.c:1342,36'
          Dst:             strcmp
        - Src:             'lib/core-net/client/connect3.c:1343,4'
          Dst:             lws_dll2_owner
        - Src:             'lib/core-net/client/connect3.c:1348,5'
          Dst:             lws_remove_parallel_fd_safely
        - Src:             'lib/core-net/client/connect3.c:1353,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1353,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1353,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1363,7'
          Dst:             lws_now_usecs
        - Src:             'lib/core-net/client/connect3.c:1372,7'
          Dst:             getsockname
        - Src:             'lib/core-net/client/connect3.c:1375,9'
          Dst:             __errno_location
        - Src:             'lib/core-net/client/connect3.c:1376,4'
          Dst:             lws_errno_describe
        - Src:             'lib/core-net/client/connect3.c:1376,4'
          Dst:             _lws_log
        - Src:             'lib/core-net/client/connect3.c:1387,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1387,6'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1387,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1400,4'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/client/connect3.c:1402,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1402,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1402,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1406,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/client/connect3.c:1415,3'
          Dst:             lws_addrinfo_clean
        - Src:             'lib/core-net/client/connect3.c:1421,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1421,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1421,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1423,9'
          Dst:             lws_client_connect_4_established
        - Src:             'lib/core-net/client/connect3.c:1433,48'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect3.c:1433,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/client/connect3.c:1454,3'
          Dst:             __lws_free_wsi
        - Src:             'lib/core-net/client/connect3.c:1457,3'
          Dst:             sanity_assert_no_wsi_traces
        - Src:             'lib/core-net/client/connect3.c:1458,3'
          Dst:             sanity_assert_no_sockfd_traces
        - Src:             'lib/core-net/client/connect3.c:1467,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1467,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1467,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1477,3'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/client/connect3.c:1480,3'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/core-net/client/connect3.c:1491,4'
          Dst:             close
        - Src:             'lib/core-net/client/connect3.c:1497,4'
          Dst:             close
        - Src:             'lib/core-net/client/connect3.c:1527,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:1527,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:1527,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:1533,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/client/connect3.c:1539,2'
          Dst:             lws_addrinfo_clean
        - Src:             'lib/core-net/client/connect3.c:1540,48'
          Dst:             strlen
        - Src:             'lib/core-net/client/connect3.c:1540,2'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/core-net/client/connect3.c:1543,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/core-net/client/connect3.c:1544,2'
          Dst:             lws_close_free_wsi
    - functionName:    lws_client_conn_wait_timeout
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_log_cx
        - lws_client_connect_3_connect
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/client/connect3.c:62,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/connect3.c:62,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/connect3.c:62,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/connect3.c:63,2'
          Dst:             lws_client_connect_3_connect
    - functionName:    lws_client_connect_4_established
      functionSourceFile: '/src/libwebsockets/lib/core-net/client/connect4.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 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_dll2_is_empty
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 344
      functionLinenumberEnd: 345
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_count
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'include/libwebsockets/lws-dll2.h:345,10'
          Dst:             lws_dll2_count
    - functionName:    lws_dll2_count
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      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:          101
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log_cx
        - lws_dll2_get_head
        - lws_dll2_is_empty
        - 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,5'
          Dst:             lws_dll2_is_empty
        - 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: 323
      functionLinenumberEnd: 323
      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_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: 821
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         67
      ICount:          448
      EdgeCount:       91
      CyclomaticComplexity: 26
      functionsReached:
        - _lws_log_cx
        - _lws_route_est_outgoing
        - lws_dll2_add_sorted
        - lws_dll2_add_tail
        - lws_dll2_count
        - lws_dll2_get_head
        - lws_log_prepend_wsi
        - lws_realloc
        - lws_sa46_4to6
        - lws_sa46_is_ipv4_mapped
        - 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:647,8'
          Dst:             lws_zalloc
        - Src:             'lib/core-net/client/sort-dns.c:667,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/client/sort-dns.c:669,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/sort-dns.c:669,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/sort-dns.c:669,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/sort-dns.c:680,7'
          Dst:             lws_dll2_count
        - Src:             'lib/core-net/client/sort-dns.c:682,11'
          Dst:             _lws_route_est_outgoing
        - Src:             'lib/core-net/client/sort-dns.c:684,5'
          Dst:             lws_realloc
        - Src:             'lib/core-net/client/sort-dns.c:685,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/sort-dns.c:685,5'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/sort-dns.c:685,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/sort-dns.c:741,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/client/sort-dns.c:741,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/client/sort-dns.c:741,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/client/sort-dns.c:743,4'
          Dst:             lws_sa46_4to6
        - Src:             'lib/core-net/client/sort-dns.c:748,3'
          Dst:             lws_sort_dns_classify
        - Src:             'lib/core-net/client/sort-dns.c:758,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/client/sort-dns.c:767,8'
          Dst:             lws_sa46_is_ipv4_mapped
        - Src:             'lib/core-net/client/sort-dns.c:768,8'
          Dst:             lws_sa46_is_ipv4_mapped
        - Src:             'lib/core-net/client/sort-dns.c:769,8'
          Dst:             lws_sort_dns_scomp
        - Src:             'lib/core-net/client/sort-dns.c:777,19'
          Dst:             lws_dll2_count
        - Src:             'lib/core-net/client/sort-dns.c:779,4'
          Dst:             lws_realloc
        - Src:             'lib/core-net/client/sort-dns.c:786,4'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/core-net/client/sort-dns.c:797,3'
          Dst:             lws_dll2_add_sorted
        - Src:             'lib/core-net/client/sort-dns.c:797,3'
          Dst:             lws_sort_dns_compare
        - Src:             'lib/core-net/client/sort-dns.c:817,2'
          Dst:             lws_sort_dns_dump
        - Src:             'lib/core-net/client/sort-dns.c:820,10'
          Dst:             lws_dll2_count
    - 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_dll2_get_next
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 349
      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_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_http_add_onward_header
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1058
      functionLinenumberEnd: 1084
      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:1066,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/header.c:1072,18'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:1074,6'
          Dst:             lws_realloc
    - functionName:    lws_http_zap_header
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1006
      functionLinenumberEnd: 1054
      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:1007,15'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:1013,10'
          Dst:             lws_http_string_to_known_header
        - Src:             'lib/roles/http/header.c:1027,13'
          Dst:             lws_ser_ru16be
        - Src:             'lib/roles/http/header.c:1029,9'
          Dst:             strncmp
        - Src:             'lib/roles/http/header.c:1031,26'
          Dst:             lws_ser_ru32be
        - Src:             'lib/roles/http/header.c:1037,6'
          Dst:             lws_ser_wu32be
        - Src:             'lib/roles/http/header.c:1048,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_pt_next_ah
      functionSourceFile: '/src/libwebsockets/lib/roles/http/private-lib-roles-http.h'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_next
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/private-lib-roles-http.h:205,23'
          Dst:             lws_dll2_get_next
    - functionName:    lws_pt_first_ah
      functionSourceFile: '/src/libwebsockets/lib/roles/http/private-lib-roles-http.h'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_head
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/private-lib-roles-http.h:197,23'
          Dst:             lws_dll2_get_head
    - functionName:    lws_sul_http_ah_lifecheck
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 909
      functionLinenumberEnd: 1001
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         36
      ICount:          235
      EdgeCount:       49
      CyclomaticComplexity: 15
      functionsReached:
        - __lws_close_free_wsi
        - _lws_log
        - lws_get_peer_simple
        - lws_hdr_copy
        - lws_hdr_token_is_credential
        - lws_hdr_total_length
        - lws_header_table_detach
        - lws_pt_first_ah
        - lws_pt_next_ah
        - lws_token_to_string
        - lws_wsi_tag
        - time
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:917,8'
          Dst:             time
        - Src:             'lib/roles/http/header.c:921,7'
          Dst:             lws_pt_first_ah
        - Src:             'lib/roles/http/header.c:931,9'
          Dst:             lws_pt_next_ah
        - Src:             'lib/roles/http/header.c:944,3'
          Dst:             lws_get_peer_simple
        - Src:             'lib/roles/http/header.c:948,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/header.c:948,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/header.c:955,8'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/http/header.c:961,10'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/header.c:967,8'
          Dst:             lws_hdr_token_is_credential
        - Src:             'lib/roles/http/header.c:969,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/header.c:980,8'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/header.c:983,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/header.c:990,3'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/http/header.c:994,3'
          Dst:             __lws_close_free_wsi
        - Src:             'lib/roles/http/header.c:997,8'
          Dst:             lws_pt_first_ah
    - 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:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_hdr_token_is_credential
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          39
      EdgeCount:       16
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    4
      BranchProfiles:
        - Branch String:   'lib/roles/http/header.c:65,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    lws_http_headers_detach
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 901
      functionLinenumberEnd: 902
      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:902,9'
          Dst:             lws_header_table_detach
    - functionName:    lws_http_compression_apply
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 888
      functionLinenumberEnd: 895
      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: 844
      functionLinenumberEnd: 881
      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:849,6'
          Dst:             lws_http_get_uri_and_method
        - Src:             'lib/roles/http/header.c:857,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/header.c:860,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:868,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:872,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:876,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/header.c:879,9'
          Dst:             lws_write
    - functionName:    lws_add_http_header_status
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 463
      functionLinenumberEnd: 688
      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:479,6'
          Dst:             lws_wsi_is_h2
        - Src:             'lib/roles/http/header.c:480,7'
          Dst:             lws_add_http2_header_status
        - Src:             'lib/roles/http/header.c:513,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/header.c:517,7'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/roles/http/header.c:530,20'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:535,21'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:539,27'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/header.c:550,10'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:547,7'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/roles/http/header.c:559,20'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:565,21'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:569,27'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/header.c:579,11'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:576,8'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/roles/http/header.c:591,21'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:597,22'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:601,28'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/header.c:611,23'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:615,29'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/header.c:627,12'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:624,9'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/roles/http/header.c:636,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/header.c:637,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:644,7'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/roles/http/header.c:682,3'
          Dst:             _lws_log
    - functionName:    lws_add_http_header_by_token
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 277
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          89
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_log
        - lws_add_http2_header_by_token
        - lws_add_http_header_by_name
        - lws_hdr_add_value_bad
        - lws_token_to_string
        - lws_wsi_is_h2
      functionUses:    32
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:284,6'
          Dst:             lws_hdr_add_value_bad
        - Src:             'lib/roles/http/header.c:285,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/header.c:297,13'
          Dst:             lws_wsi_is_h2
        - Src:             'lib/roles/http/header.c:298,10'
          Dst:             lws_add_http2_header_by_token
        - Src:             'lib/roles/http/header.c:301,9'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/http/header.c:305,9'
          Dst:             lws_add_http_header_by_name
    - functionName:    lws_finalize_http_header
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 211
      functionLinenumberEnd: 243
      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:234,13'
          Dst:             lws_wsi_is_h2
    - functionName:    lws_wsi_is_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 95
      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_hdr_add_value_bad
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          84
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_add_http_header_by_name
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 140
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          264
      EdgeCount:       59
      CyclomaticComplexity: 17
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - lws_add_http2_header_by_name
        - lws_hdr_add_value_bad
        - lws_log_prepend_wsi
        - lws_wsi_is_h2
        - lwsl_wsi_get_cx
        - strlen
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:142,10'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:141,15'
          Dst:             lws_hdr_add_value_bad
        - Src:             'lib/roles/http/header.c:143,6'
          Dst:             lws_hdr_add_value_bad
        - Src:             'lib/roles/http/header.c:144,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/header.c:170,13'
          Dst:             lws_wsi_is_h2
        - Src:             'lib/roles/http/header.c:172,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/header.c:172,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/header.c:172,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/header.c:178,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: 693
      functionLinenumberEnd: 839
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          359
      EdgeCount:       55
      CyclomaticComplexity: 18
      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:694,32'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/header.c:704,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/header.c:715,16'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:713,7'
          Dst:             lws_http_redirect
        - Src:             'lib/roles/http/header.c:736,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/header.c:746,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/header.c:749,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:754,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/header.c:762,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/header.c:763,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:767,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/header.c:785,7'
          Dst:             lws_write
        - Src:             'lib/roles/http/header.c:797,33'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/header.c:802,3'
          Dst:             strcpy
        - Src:             'lib/roles/http/header.c:803,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/header.c:822,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/header.c:833,7'
          Dst:             lws_write
    - functionName:    lws_add_http_common_headers
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 408
      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:341,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/header.c:347,15'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:345,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/header.c:367,7'
          Dst:             lws_add_http_header_content_length
        - Src:             'lib/roles/http/header.c:400,13'
          Dst:             strlen
        - Src:             'lib/roles/http/header.c:397,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: 312
      functionLinenumberEnd: 328
      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:316,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/header.c:317,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: 268
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_finalize_write_http_header_flags
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:269,9'
          Dst:             lws_finalize_write_http_header_flags
    - functionName:    lws_finalize_write_http_header_flags
      functionSourceFile: '/src/libwebsockets/lib/roles/http/header.c'
      linkageType:     InternalLinkage
      functionLinenumber: 249
      functionLinenumberEnd: 263
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          67
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - lws_finalize_http_header
        - lws_write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/header.c:253,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/header.c:259,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: 1957
      functionLinenumberEnd: 1982
      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:1958,28'
          Dst:             strlen
        - Src:             'lib/roles/http/parsers.c:1968,24'
          Dst:             strncmp
    - functionName:    lws_http_cookie_compose
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1723
      functionLinenumberEnd: 1779
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         43
      ICount:          276
      EdgeCount:       58
      CyclomaticComplexity: 17
      functionsReached:
        - lws_snprintf
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:1735,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/parsers.c:1738,9'
          Dst:             strlen
        - Src:             'lib/roles/http/parsers.c:1738,28'
          Dst:             strlen
        - Src:             'lib/roles/http/parsers.c:1740,15'
          Dst:             strlen
        - Src:             'lib/roles/http/parsers.c:1742,16'
          Dst:             strlen
        - Src:             'lib/roles/http/parsers.c:1755,14'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/parsers.c:1757,16'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/parsers.c:1760,16'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/parsers.c:1762,15'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/parsers.c:1772,19'
          Dst:             strlen
    - functionName:    lws_http_cookie_get_nth
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1685
      functionLinenumberEnd: 1717
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          228
      EdgeCount:       42
      CyclomaticComplexity: 13
      functionsReached:
        - cookie_value_copy
        - lws_hdr_total_length
        - memcmp
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:1686,14'
          Dst:             strlen
        - Src:             'lib/roles/http/parsers.c:1689,15'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/parsers.c:1704,10'
          Dst:             memcmp
        - Src:             'lib/roles/http/parsers.c:1707,13'
          Dst:             cookie_value_copy
    - functionName:    lws_hdr_total_length
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 489
      functionLinenumberEnd: 509
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          100
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    81
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cookie_value_copy
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1591
      functionLinenumberEnd: 1605
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          82
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_http_cookie_get
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1610
      functionLinenumberEnd: 1657
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          246
      EdgeCount:       44
      CyclomaticComplexity: 13
      functionsReached:
        - cookie_value_copy
        - lws_hdr_total_length
        - lws_snprintf
        - memcmp
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:1620,4'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/parsers.c:1625,8'
          Dst:             strlen
        - Src:             'lib/roles/http/parsers.c:1626,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/parsers.c:1642,11'
          Dst:             memcmp
        - Src:             'lib/roles/http/parsers.c:1646,14'
          Dst:             cookie_value_copy
    - functionName:    lws_parse
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1047
      functionLinenumberEnd: 1574
      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:1065,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/http/parsers.c:1145,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:1054,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:1061,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1072,5'
          Dst:             lws_ser_wu16be
        - Src:             'lib/roles/http/parsers.c:1084,9'
          Dst:             lws_pos_in_bounds
        - Src:             'lib/roles/http/parsers.c:1094,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1114,10'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:1136,9'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:1144,8'
          Dst:             lws_parse_urldecode
        - Src:             'lib/roles/http/parsers.c:1173,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1176,22'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:1202,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1232,11'
          Dst:             lws_pos_in_bounds
        - Src:             'lib/roles/http/parsers.c:1244,9'
          Dst:             lws_pos_in_bounds
        - Src:             'lib/roles/http/parsers.c:1268,6'
          Dst:             lws_ser_wu32be
        - Src:             'lib/roles/http/parsers.c:1276,5'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/parsers.c:1279,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1287,5'
          Dst:             lws_ser_wu16be
        - Src:             'lib/roles/http/parsers.c:1399,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1405,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1430,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1434,7'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1488,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1508,8'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:1514,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1528,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1541,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1553,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/parsers.c:1555,20'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/parsers.c:1557,31'
          Dst:             atoi
        - Src:             'lib/roles/http/parsers.c:1559,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1568,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:1570,2'
          Dst:             lws_return_http_status
    - functionName:    lws_pos_in_bounds
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 707
      functionLinenumberEnd: 730
      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:716,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/parsers.c:716,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/parsers.c:716,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/parsers.c:724,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:727,2'
          Dst:             __assert_fail
    - functionName:    issue_char
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 778
      functionLinenumberEnd: 808
      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:781,6'
          Dst:             lws_pos_in_bounds
        - Src:             'lib/roles/http/parsers.c:798,7'
          Dst:             lws_pos_in_bounds
        - Src:             'lib/roles/http/parsers.c:802,3'
          Dst:             _lws_log
    - functionName:    lws_parse_urldecode
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 812
      functionLinenumberEnd: 1026
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         111
      ICount:          783
      EdgeCount:       149
      CyclomaticComplexity: 40
      functionsReached:
        - _lws_log
        - char_to_hex
        - issue_char
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/roles/http/parsers.c:823,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/http/parsers.c:882,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:831,7'
          Dst:             char_to_hex
        - Src:             'lib/roles/http/parsers.c:840,7'
          Dst:             char_to_hex
        - Src:             'lib/roles/http/parsers.c:844,34'
          Dst:             char_to_hex
        - Src:             'lib/roles/http/parsers.c:845,5'
          Dst:             char_to_hex
        - Src:             'lib/roles/http/parsers.c:877,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:887,8'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:948,7'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:978,7'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:980,7'
          Dst:             issue_char
        - Src:             'lib/roles/http/parsers.c:992,7'
          Dst:             issue_char
    - functionName:    lws_hdr_simple_ptr
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 692
      functionLinenumberEnd: 703
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          65
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    88
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_hdr_simple_create
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 734
      functionLinenumberEnd: 774
      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:747,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:765,7'
          Dst:             lws_pos_in_bounds
    - functionName:    lws_hdr_custom_name_foreach
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 668
      functionLinenumberEnd: 688
      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:681,6'
          Dst:             lws_ser_ru16be
        - Src:             'lib/roles/http/parsers.c:684,8'
          Dst:             lws_ser_ru32be
    - functionName:    lws_hdr_custom_copy
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 634
      functionLinenumberEnd: 663
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:647,15'
          Dst:             lws_ser_ru16be
        - Src:             'lib/roles/http/parsers.c:649,8'
          Dst:             strncmp
        - Src:             'lib/roles/http/parsers.c:650,8'
          Dst:             lws_ser_ru16be
        - Src:             'lib/roles/http/parsers.c:654,4'
          Dst:             strncpy
        - Src:             'lib/roles/http/parsers.c:659,8'
          Dst:             lws_ser_ru32be
    - functionName:    lws_hdr_custom_length
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 609
      functionLinenumberEnd: 629
      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:619,15'
          Dst:             lws_ser_ru16be
        - Src:             'lib/roles/http/parsers.c:621,8'
          Dst:             strncmp
        - Src:             'lib/roles/http/parsers.c:622,11'
          Dst:             lws_ser_ru16be
        - Src:             'lib/roles/http/parsers.c:625,8'
          Dst:             lws_ser_ru32be
    - functionName:    lws_hdr_copy
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 544
      functionLinenumberEnd: 604
      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:545,15'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/parsers.c:570,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/parsers.c:570,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/parsers.c:570,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/parsers.c:573,3'
          Dst:             strncpy
    - functionName:    lws_hdr_copy_fragment
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 513
      functionLinenumberEnd: 540
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          164
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_hdr_extant
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 474
      functionLinenumberEnd: 486
      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: 454
      functionLinenumberEnd: 470
      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: 440
      functionLinenumberEnd: 449
      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:446,6'
          Dst:             __lws_header_table_detach
    - functionName:    __lws_header_table_detach
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 302
      functionLinenumberEnd: 437
      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:310,2'
          Dst:             __lws_remove_from_ah_waiting_list
        - Src:             'lib/roles/http/parsers.c:314,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:314,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:319,2'
          Dst:             time
        - Src:             'lib/roles/http/parsers.c:325,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:325,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:334,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:336,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:356,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:356,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:376,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:376,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:383,2'
          Dst:             __lws_header_table_reset
        - Src:             'lib/roles/http/parsers.c:394,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:394,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:399,3'
          Dst:             _lws_change_pollfd
        - Src:             'lib/roles/http/parsers.c:412,8'
          Dst:             lws_http_client_connect_via_info2
        - Src:             'lib/roles/http/parsers.c:423,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:426,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:426,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:432,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:433,2'
          Dst:             _lws_destroy_ah
    - functionName:    __lws_remove_from_ah_waiting_list
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 199
      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:186,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:186,4'
          Dst:             _lws_log
    - functionName:    __lws_header_table_reset
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 141
      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:111,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:113,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:115,2'
          Dst:             _lws_header_table_reset
        - Src:             'lib/roles/http/parsers.c:121,2'
          Dst:             __lws_set_timeout
        - Src:             'lib/roles/http/parsers.c:124,2'
          Dst:             time
        - Src:             'lib/roles/http/parsers.c:127,6'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/http/parsers.c:129,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:138,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:139,3'
          Dst:             lws_service_fd_tsi
    - functionName:    _lws_destroy_ah
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          80
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
        - lws_dll2_count
        - lws_dll2_is_detached
        - lws_dll2_remove
        - lws_realloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/parsers.c:62,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/roles/http/parsers.c:63,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/http/parsers.c:64,4'
          Dst:             lws_dll2_count
        - Src:             'lib/roles/http/parsers.c:64,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:73,5'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/parsers.c:74,4'
          Dst:             lws_realloc
    - functionName:    lws_dll2_count
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _lws_header_table_reset
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 99
      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: 57
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          69
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log
        - lws_dll2_add_head
        - lws_dll2_count
        - 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:49,2'
          Dst:             lws_dll2_add_head
        - Src:             'lib/roles/http/parsers.c:52,2'
          Dst:             lws_dll2_count
        - Src:             'lib/roles/http/parsers.c:52,2'
          Dst:             _lws_log
    - functionName:    _lws_header_ensure_we_are_on_waiting_list
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 176
      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:168,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:168,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:175,2'
          Dst:             _lws_change_pollfd
    - functionName:    lws_header_table_attach
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 299
      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:214,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:214,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:219,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:220,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/parsers.c:228,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:245,3'
          Dst:             _lws_header_ensure_we_are_on_waiting_list
        - Src:             'lib/roles/http/parsers.c:250,2'
          Dst:             __lws_remove_from_ah_waiting_list
        - Src:             'lib/roles/http/parsers.c:252,17'
          Dst:             _lws_create_ah
        - Src:             'lib/roles/http/parsers.c:254,3'
          Dst:             _lws_header_ensure_we_are_on_waiting_list
        - Src:             'lib/roles/http/parsers.c:271,2'
          Dst:             _lws_change_pollfd
        - Src:             'lib/roles/http/parsers.c:273,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/parsers.c:273,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/parsers.c:277,2'
          Dst:             __lws_header_table_reset
        - Src:             'lib/roles/http/parsers.c:286,8'
          Dst:             lws_http_client_connect_via_info2
    - functionName:    lws_header_table_reset
      functionSourceFile: '/src/libwebsockets/lib/roles/http/parsers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 153
      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:150,2'
          Dst:             __lws_header_table_reset
    - functionName:    lws_dll2_get_next
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 349
      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_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_chunked_html_process
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4050
      functionLinenumberEnd: 4144
      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:4063,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:4076,10'
          Dst:             strncmp
        - Src:             'lib/roles/http/server/server.c:4089,36'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:4093,14'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:4119,7'
          Dst:             lws_snprintf
    - functionName:    lws_server_get_canonical_hostname
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 4028
      functionLinenumberEnd: 4044
      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:4034,6'
          Dst:             gethostname
        - Src:             'lib/roles/http/server/server.c:4036,3'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/server/server.c:4039,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/roles/http/server/server.c:4039,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/server/server.c:4039,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: 3642
      functionLinenumberEnd: 4020
      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:3657,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3663,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/server/server.c:3664,8'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/http/server/server.c:3665,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3743,10'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/http/server/server.c:3776,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:3776,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3778,5'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/server/server.c:3857,8'
          Dst:             lws_vfs_file_read
        - Src:             'lib/roles/http/server/server.c:3884,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3887,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:3897,9'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/http/server/server.c:3918,8'
          Dst:             lws_write
        - Src:             'lib/roles/http/server/server.c:3948,9'
          Dst:             lws_vfs_file_seek_cur
        - Src:             'lib/roles/http/server/server.c:3956,9'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/server/server.c:3968,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:3970,4'
          Dst:             lws_vfs_file_close
        - Src:             'lib/roles/http/server/server.c:3972,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3975,8'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/http/server/server.c:4000,5'
          Dst:             lws_header_table_reset
        - Src:             'lib/roles/http/server/server.c:4010,12'
          Dst:             lws_send_pipe_choked
        - Src:             'lib/roles/http/server/server.c:4012,2'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/server/server.c:4017,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: 3196
      functionLinenumberEnd: 3208
      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: 774
      functionLinenumberEnd: 787
      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:777,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:780,21'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:780,14'
          Dst:             strstr
        - Src:             'lib/roles/http/server/server.c:782,3'
          Dst:             _lws_log
    - functionName:    lws_serve_http_file
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3213
      functionLinenumberEnd: 3636
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         168
      ICount:          1035
      EdgeCount:       229
      CyclomaticComplexity: 63
      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:3214,32'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/server/server.c:3243,10'
          Dst:             lws_vfs_select_fops
        - Src:             'lib/roles/http/server/server.c:3244,13'
          Dst:             lws_vfs_prepare_flags
        - Src:             'lib/roles/http/server/server.c:3258,4'
          Dst:             __errno_location
        - Src:             'lib/roles/http/server/server.c:3258,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3260,8'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:3283,23'
          Dst:             lws_vfs_get_length
        - Src:             'lib/roles/http/server/server.c:3327,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/server/server.c:3333,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:3337,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3363,13'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:3360,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:3446,8'
          Dst:             lws_add_http_header_content_length
        - Src:             'lib/roles/http/server/server.c:3485,11'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:3490,12'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:3495,12'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:3505,7'
          Dst:             lws_is_ascii_headers
        - Src:             'lib/roles/http/server/server.c:3506,8'
          Dst:             strstr
        - Src:             'lib/roles/http/server/server.c:3507,8'
          Dst:             strstr
        - Src:             'lib/roles/http/server/server.c:3513,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:3527,8'
          Dst:             lws_wsi_is_h2
        - Src:             'lib/roles/http/server/server.c:3529,14'
          Dst:             lws_is_ascii_headers
        - Src:             'lib/roles/http/server/server.c:3571,13'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/roles/http/server/server.c:3595,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/server/server.c:3605,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:3608,8'
          Dst:             lws_write
        - Src:             'lib/roles/http/server/server.c:3611,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3617,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:3619,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:3621,3'
          Dst:             lws_vfs_file_close
        - Src:             'lib/roles/http/server/server.c:3622,7'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:3628,2'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/server/server.c:3633,2'
          Dst:             lws_vfs_file_close
    - functionName:    lws_http_transaction_completed
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2966
      functionLinenumberEnd: 3191
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         69
      ICount:          498
      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:    19
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:2967,2'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/server/server.c:2974,6'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/server/server.c:2988,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2988,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2991,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/server/server.c:3008,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:3008,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3022,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:3036,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:3036,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3051,3'
          Dst:             lws_get_peer_simple
        - Src:             'lib/roles/http/server/server.c:3056,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3082,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:3082,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3086,6'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:3095,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:3095,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3097,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:3108,3'
          Dst:             lws_vfs_file_close
        - Src:             'lib/roles/http/server/server.c:3120,29'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/http/server/server.c:3120,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:3137,8'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/http/server/server.c:3139,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:3139,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3141,4'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/http/server/server.c:3153,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3160,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:3160,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3164,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:3164,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3166,4'
          Dst:             lws_header_table_reset
        - Src:             'lib/roles/http/server/server.c:3173,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:3182,7'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/http/server/server.c:3183,8'
          Dst:             lws_header_table_attach
        - Src:             'lib/roles/http/server/server.c:3184,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3186,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:3186,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:3188,2'
          Dst:             lws_callback_on_writable
    - functionName:    lws_http_response_started
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2940
      functionLinenumberEnd: 2962
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          79
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - lws_set_timeout
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:2961,2'
          Dst:             lws_set_timeout
    - functionName:    lws_handshake_server
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2600
      functionLinenumberEnd: 2935
      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:2601,32'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/server/server.c:2614,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2615,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/server/server.c:2619,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2620,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/server/server.c:2625,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2631,7'
          Dst:             lws_parse
        - Src:             'lib/roles/http/server/server.c:2632,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2650,8'
          Dst:             lws_http_to_fallback
        - Src:             'lib/roles/http/server/server.c:2651,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2660,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2671,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2676,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2679,5'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:2677,30'
          Dst:             lws_select_vhost
        - Src:             'lib/roles/http/server/server.c:2682,5'
          Dst:             lws_vhost_bind_wsi
        - Src:             'lib/roles/http/server/server.c:2684,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2698,8'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:2706,19'
          Dst:             strstr
        - Src:             'lib/roles/http/server/server.c:2711,20'
          Dst:             strchr
        - Src:             'lib/roles/http/server/server.c:2715,21'
          Dst:             atoi
        - Src:             'lib/roles/http/server/server.c:2714,6'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2749,8'
          Dst:             lws_http_get_uri_and_method
        - Src:             'lib/roles/http/server/server.c:2751,11'
          Dst:             lws_find_mount
        - Src:             'lib/roles/http/server/server.c:2753,10'
          Dst:             lws_http_redirect_hit
        - Src:             'lib/roles/http/server/server.c:2759,7'
          Dst:             lws_http_evaluate_interceptors
        - Src:             'lib/roles/http/server/server.c:2761,35'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2768,7'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2777,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2778,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2782,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:2783,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:2785,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2787,21'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:2790,8'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:2791,8'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:2792,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2794,9'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2796,9'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:2799,9'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/http/server/server.c:2811,13'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:2823,6'
          Dst:             lws_confirm_host_header
        - Src:             'lib/roles/http/server/server.c:2826,10'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:2829,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2834,10'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:2836,9'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2845,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2845,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2847,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:2856,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2856,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2859,7'
          Dst:             lws_http_action
        - Src:             'lib/roles/http/server/server.c:2865,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2866,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2870,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2872,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:2874,7'
          Dst:             lws_b64_decode_string
        - Src:             'lib/roles/http/server/server.c:2876,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2885,3'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/server/server.c:2892,18'
          Dst:             lws_zalloc
        - Src:             'lib/roles/http/server/server.c:2897,3'
          Dst:             lws_h2_init
        - Src:             'lib/roles/http/server/server.c:2901,3'
          Dst:             lws_h2_settings
        - Src:             'lib/roles/http/server/server.c:2903,7'
          Dst:             lws_hpack_dynamic_size
        - Src:             'lib/roles/http/server/server.c:2907,3'
          Dst:             strcpy
        - Src:             'lib/roles/http/server/server.c:2910,12'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:2911,7'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/http/server/server.c:2913,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2921,7'
          Dst:             lws_process_ws_upgrade
        - Src:             'lib/roles/http/server/server.c:2932,2'
          Dst:             lws_header_table_detach
    - functionName:    lws_http_to_fallback
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2547
      functionLinenumberEnd: 2596
      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:2555,6'
          Dst:             lws_role_by_name
        - Src:             'lib/roles/http/server/server.c:2556,10'
          Dst:             lws_role_by_name
        - Src:             'lib/roles/http/server/server.c:2559,8'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/server/server.c:2565,2'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:2567,2'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/server/server.c:2569,2'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/http/server/server.c:2570,2'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:2578,2'
          Dst:             lws_get_peer_simple
        - Src:             'lib/roles/http/server/server.c:2581,2'
          Dst:             _lws_log
    - functionName:    lws_select_vhost
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 638
      functionLinenumberEnd: 696
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          235
      EdgeCount:       50
      CyclomaticComplexity: 15
      functionsReached:
        - _lws_log
        - lws_vhost_first
        - lws_vhost_next
        - strchr
        - strlen
        - strncmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:639,28'
          Dst:             lws_vhost_first
        - Src:             'lib/roles/http/server/server.c:643,11'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:645,14'
          Dst:             strchr
        - Src:             'lib/roles/http/server/server.c:653,8'
          Dst:             strncmp
        - Src:             'lib/roles/http/server/server.c:654,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:657,11'
          Dst:             lws_vhost_next
        - Src:             'lib/roles/http/server/server.c:667,10'
          Dst:             lws_vhost_first
        - Src:             'lib/roles/http/server/server.c:669,16'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:673,8'
          Dst:             strncmp
        - Src:             'lib/roles/http/server/server.c:674,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:678,11'
          Dst:             lws_vhost_next
        - Src:             'lib/roles/http/server/server.c:683,10'
          Dst:             lws_vhost_first
        - Src:             'lib/roles/http/server/server.c:686,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:690,11'
          Dst:             lws_vhost_next
    - functionName:    lws_http_get_uri_and_method
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1306
      functionLinenumberEnd: 1336
      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:1310,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1313,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1321,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1324,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1329,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1330,16'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1331,16'
          Dst:             lws_hdr_total_length
    - functionName:    lws_find_mount
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1079
      functionLinenumberEnd: 1154
      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:1083,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1090,25'
          Dst:             strncmp
        - Src:             'lib/roles/http/server/server.c:1097,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1108,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1109,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1115,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1121,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1122,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1124,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1125,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1126,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1128,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1131,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1140,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1146,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1152,2'
          Dst:             _lws_log
    - functionName:    lws_http_redirect_hit
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1729
      functionLinenumberEnd: 1823
      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:1736,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1758,30'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:1769,3'
          Dst:             lws_get_peer_simple
        - Src:             'lib/roles/http/server/server.c:1778,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:1782,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:1786,27'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1789,16'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1795,30'
          Dst:             strchr
        - Src:             'lib/roles/http/server/server.c:1796,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:1799,28'
          Dst:             lws_is_ssl
        - Src:             'lib/roles/http/server/server.c:1798,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:1807,3'
          Dst:             lws_clean_url
        - Src:             'lib/roles/http/server/server.c:1808,12'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:1809,7'
          Dst:             lws_http_redirect
        - Src:             'lib/roles/http/server/server.c:1814,10'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:1820,2'
          Dst:             lws_header_table_detach
    - functionName:    lws_http_evaluate_interceptors
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1828
      functionLinenumberEnd: 1859
      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: 2475
      functionLinenumberEnd: 2542
      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:2486,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2487,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2497,6'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:2499,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2503,2'
          Dst:             lws_tokenize_init
        - Src:             'lib/roles/http/server/server.c:2507,6'
          Dst:             lws_tokenize
        - Src:             'lib/roles/http/server/server.c:2510,6'
          Dst:             strncmp
        - Src:             'lib/roles/http/server/server.c:2512,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2517,6'
          Dst:             lws_tokenize
        - Src:             'lib/roles/http/server/server.c:2519,7'
          Dst:             lws_tokenize
        - Src:             'lib/roles/http/server/server.c:2522,11'
          Dst:             atoi
        - Src:             'lib/roles/http/server/server.c:2529,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2534,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2539,2'
          Dst:             _lws_log
    - functionName:    lws_http_action
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1864
      functionLinenumberEnd: 2471
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         239
      ICount:          1912
      EdgeCount:       326
      CyclomaticComplexity: 89
      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_wsi_get_cx
        - strcasecmp
        - strlen
        - strtoull
      functionUses:    3
      BranchProfiles:
        - Branch String:   'lib/roles/http/server/server.c:1919,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/http/server/server.c:2206,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:1880,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1883,9'
          Dst:             lws_http_get_uri_and_method
        - Src:             'lib/roles/http/server/server.c:1885,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1892,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/server/server.c:1892,3'
          Dst:             lws_get_peer_simple
        - Src:             'lib/roles/http/server/server.c:1892,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/server/server.c:1892,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/server/server.c:1905,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/server/server.c:1905,3'
          Dst:             lws_get_peer_simple
        - Src:             'lib/roles/http/server/server.c:1905,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/server/server.c:1905,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/server/server.c:1909,3'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:1914,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1930,6'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/http/server/server.c:1940,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1943,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:1952,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,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1955,4'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:1959,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1960,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:1966,8'
          Dst:             lws_hdr_copy_fragment
        - Src:             'lib/roles/http/server/server.c:1969,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1970,5'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:1973,4'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:1977,24'
          Dst:             strtoull
        - Src:             'lib/roles/http/server/server.c:1980,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1981,5'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:1985,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1987,5'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:1991,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1993,5'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2001,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2018,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2031,22'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2033,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:2048,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2049,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:2052,9'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:2055,10'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:2067,3'
          Dst:             lws_get_peer_simple
        - Src:             'lib/roles/http/server/server.c:2067,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2078,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/server/server.c:2092,21'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2096,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:2099,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:2100,13'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:2112,10'
          Dst:             lws_hdr_copy_fragment
        - Src:             'lib/roles/http/server/server.c:2116,9'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:2125,21'
          Dst:             lws_http_redirect
        - Src:             'lib/roles/http/server/server.c:2130,10'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:2144,8'
          Dst:             lws_find_mount
        - Src:             'lib/roles/http/server/server.c:2145,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2150,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2152,7'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:2156,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:2171,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2174,5'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2187,20'
          Dst:             lws_http_redirect_hit
        - Src:             'lib/roles/http/server/server.c:2196,8'
          Dst:             lws_http_evaluate_interceptors
        - Src:             'lib/roles/http/server/server.c:2198,3'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2206,10'
          Dst:             lws_check_basic_auth
        - Src:             'lib/roles/http/server/server.c:2212,10'
          Dst:             lws_unauthorised_basic_auth
        - Src:             'lib/roles/http/server/server.c:2214,3'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2215,10'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:2252,8'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/server/server.c:2254,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2259,7'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:2262,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2275,4'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/http/server/server.c:2287,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2348,7'
          Dst:             lws_http_serve
        - Src:             'lib/roles/http/server/server.c:2358,6'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/server/server.c:2364,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:2366,8'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:2380,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2400,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2405,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:2433,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/server/server.c:2434,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/server/server.c:2434,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2450,19'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/http/server/server.c:2455,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:2456,7'
          Dst:             lws_read_h1
        - Src:             'lib/roles/http/server/server.c:2460,7'
          Dst:             lws_buflist_aware_finished_consuming
        - Src:             'lib/roles/http/server/server.c:2468,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: 1359
      functionLinenumberEnd: 1446
      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:1409,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:1369,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:1377,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1381,6'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/server/server.c:1384,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1389,6'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:1390,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1396,6'
          Dst:             lws_b64_decode_string
        - Src:             'lib/roles/http/server/server.c:1398,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1403,19'
          Dst:             strchr
        - Src:             'lib/roles/http/server/server.c:1405,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1411,7'
          Dst:             lws_find_string_in_file
        - Src:             'lib/roles/http/server/server.c:1413,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1435,2'
          Dst:             lws_authorization_rewrite
        - Src:             'lib/roles/http/server/server.c:1437,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/server/server.c:1437,2'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1437,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/server/server.c:1437,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_unauthorised_basic_auth
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1225
      functionLinenumberEnd: 1256
      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:1234,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/server/server.c:1237,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:1238,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:1243,6'
          Dst:             lws_add_http_header_content_length
        - Src:             'lib/roles/http/server/server.c:1246,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/server/server.c:1249,6'
          Dst:             lws_write
        - Src:             'lib/roles/http/server/server.c:1254,9'
          Dst:             lws_http_transaction_completed
    - functionName:    lws_http_serve
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 792
      functionLinenumberEnd: 1073
      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:827,8'
          Dst:             strcmp
        - Src:             'lib/roles/http/server/server.c:832,2'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:836,12'
          Dst:             lws_vfs_prepare_flags
        - Src:             'lib/roles/http/server/server.c:840,10'
          Dst:             lws_vfs_select_fops
        - Src:             'lib/roles/http/server/server.c:843,4'
          Dst:             lws_vfs_file_close
        - Src:             'lib/roles/http/server/server.c:848,4'
          Dst:             __errno_location
        - Src:             'lib/roles/http/server/server.c:848,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:861,7'
          Dst:             fstat
        - Src:             'lib/roles/http/server/server.c:862,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:888,18'
          Dst:             readlink
        - Src:             'lib/roles/http/server/server.c:890,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:894,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:895,4'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:899,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:900,4'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:907,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:910,27'
          Dst:             lws_vfs_get_length
        - Src:             'lib/roles/http/server/server.c:911,22'
          Dst:             lws_vfs_get_mod_time
        - Src:             'lib/roles/http/server/server.c:909,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:915,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:916,19'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:916,7'
          Dst:             strcmp
        - Src:             'lib/roles/http/server/server.c:920,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/server/server.c:925,20'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:925,8'
          Dst:             strcmp
        - Src:             'lib/roles/http/server/server.c:931,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:935,8'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/http/server/server.c:937,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:942,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:952,14'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:958,49'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/server/server.c:965,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:970,8'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/http/server/server.c:973,8'
          Dst:             lws_write
        - Src:             'lib/roles/http/server/server.c:977,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:982,4'
          Dst:             lws_vfs_file_close
        - Src:             'lib/roles/http/server/server.c:984,8'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/http/server/server.c:991,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:996,13'
          Dst:             lws_get_mimetype
        - Src:             'lib/roles/http/server/server.c:998,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1002,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1012,12'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:1013,16'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:1014,39'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:1014,8'
          Dst:             strcmp
        - Src:             'lib/roles/http/server/server.c:1020,5'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/server/server.c:1022,6'
          Dst:             lws_get_vhost
        - Src:             'lib/roles/http/server/server.c:1024,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1028,8'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:1032,8'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/http/server/server.c:1040,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/server/server.c:1048,36'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/server/server.c:1051,14'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/server/server.c:1062,6'
          Dst:             lws_serve_http_file
        - Src:             'lib/roles/http/server/server.c:1065,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:    lws_get_mimetype
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 727
      functionLinenumberEnd: 769
      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:729,13'
          Dst:             strlen
        - 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:753,9'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:754,19'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/server/server.c:755,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:763,3'
          Dst:             _lws_log
    - functionName:    lws_find_string_in_file
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1160
      functionLinenumberEnd: 1218
      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:1165,7'
          Dst:             lws_open
        - Src:             'lib/roles/http/server/server.c:1167,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:1172,12'
          Dst:             read
        - Src:             'lib/roles/http/server/server.c:1180,14'
          Dst:             strchr
        - Src:             'lib/roles/http/server/server.c:1186,22'
          Dst:             strlen
        - Src:             'lib/roles/http/server/server.c:1188,10'
          Dst:             lws_timingsafe_bcmp
        - Src:             'lib/roles/http/server/server.c:1195,9'
          Dst:             strchr
        - Src:             'lib/roles/http/server/server.c:1211,36'
          Dst:             lws_timingsafe_bcmp
        - Src:             'lib/roles/http/server/server.c:1215,2'
          Dst:             close
    - functionName:    lws_authorization_rewrite
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1342
      functionLinenumberEnd: 1354
      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:1343,12'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/server/server.c:1350,2'
          Dst:             strncpy
    - functionName:    lws_clean_url
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1261
      functionLinenumberEnd: 1285
      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_first
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 923
      functionLinenumberEnd: 926
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_head
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:924,23'
          Dst:             lws_dll2_get_head
    - functionName:    lws_vhost_next
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 931
      functionLinenumberEnd: 934
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_next
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:932,23'
          Dst:             lws_dll2_get_next
    - functionName:    _lws_vhost_init_server
      functionSourceFile: '/src/libwebsockets/lib/roles/http/server/server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 493
      functionLinenumberEnd: 632
      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:528,10'
          Dst:             _lws_vhost_init_server_af
        - Src:             'lib/roles/http/server/server.c:542,7'
          Dst:             lws_parse_numeric_address
        - Src:             'lib/roles/http/server/server.c:556,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:574,7'
          Dst:             _lws_vhost_init_server_af
        - Src:             'lib/roles/http/server/server.c:584,7'
          Dst:             _lws_vhost_init_server_af
        - Src:             'lib/roles/http/server/server.c:593,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: 487
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         130
      ICount:          973
      EdgeCount:       175
      CyclomaticComplexity: 47
      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_head
        - lws_dll2_add_tail
        - lws_dll2_is_detached
        - 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:187,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/server/server.c:136,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:138,6'
          Dst:             lws_vhost_foreach_listen_wsi
        - Src:             'lib/roles/http/server/server.c:138,6'
          Dst:             check_extant
        - Src:             'lib/roles/http/server/server.c:152,8'
          Dst:             lws_socket_bind
        - Src:             'lib/roles/http/server/server.c:155,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:161,8'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/roles/http/server/server.c:165,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:167,5'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/http/server/server.c:179,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:181,4'
          Dst:             lws_dll2_add_head
        - Src:             'lib/roles/http/server/server.c:196,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:210,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:258,13'
          Dst:             dup
        - Src:             'lib/roles/http/server/server.c:265,6'
          Dst:             socket
        - Src:             'lib/roles/http/server/server.c:268,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:298,7'
          Dst:             setsockopt
        - Src:             'lib/roles/http/server/server.c:300,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:301,4'
          Dst:             close
        - Src:             'lib/roles/http/server/server.c:317,7'
          Dst:             setsockopt
        - Src:             'lib/roles/http/server/server.c:319,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:321,4'
          Dst:             close
        - Src:             'lib/roles/http/server/server.c:335,8'
          Dst:             setsockopt
        - Src:             'lib/roles/http/server/server.c:337,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:343,3'
          Dst:             lws_plat_set_socket_options
        - Src:             'lib/roles/http/server/server.c:349,9'
          Dst:             lws_socket_bind
        - Src:             'lib/roles/http/server/server.c:355,5'
          Dst:             close
        - Src:             'lib/roles/http/server/server.c:366,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:367,5'
          Dst:             close
        - Src:             'lib/roles/http/server/server.c:379,9'
          Dst:             __lws_wsi_create_with_role
        - Src:             'lib/roles/http/server/server.c:382,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:395,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:400,3'
          Dst:             lws_vhost_bind_wsi
        - Src:             'lib/roles/http/server/server.c:409,7'
          Dst:             __insert_wsi_socket_into_fds
        - Src:             'lib/roles/http/server/server.c:410,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:415,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/http/server/server.c:417,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/roles/http/server/server.c:438,8'
          Dst:             setsockopt
        - Src:             'lib/roles/http/server/server.c:440,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:445,7'
          Dst:             listen
        - Src:             'lib/roles/http/server/server.c:447,4'
          Dst:             __errno_location
        - Src:             'lib/roles/http/server/server.c:447,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:448,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/http/server/server.c:449,4'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/roles/http/server/server.c:457,4'
          Dst:             __lws_lc_tag
        - Src:             'lib/roles/http/server/server.c:470,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:473,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:483,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/server/server.c:484,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_dll2_get_next
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 349
      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_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_pt_next_ah
      functionSourceFile: '/src/libwebsockets/lib/roles/http/private-lib-roles-http.h'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_next
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/private-lib-roles-http.h:205,23'
          Dst:             lws_dll2_get_next
    - functionName:    lws_pt_first_ah
      functionSourceFile: '/src/libwebsockets/lib/roles/http/private-lib-roles-http.h'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/private-lib-roles-http.h:197,23'
          Dst:             lws_dll2_get_head
    - functionName:    lws_h1_server_socket_service
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 363
      functionLinenumberEnd: 622
      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:427,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h1/ops-h1.c:408,24'
          Dst:             lws_header_table_attach
        - Src:             'lib/roles/h1/ops-h1.c:409,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h1/ops-h1.c:409,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:426,14'
          Dst:             lws_buflist_aware_read
        - Src:             'lib/roles/h1/ops-h1.c:429,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:431,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/h1/ops-h1.c:455,12'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h1/ops-h1.c:453,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h1/ops-h1.c:461,12'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h1/ops-h1.c:459,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h1/ops-h1.c:468,11'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h1/ops-h1.c:466,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h1/ops-h1.c:472,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:478,8'
          Dst:             lws_buflist_aware_finished_consuming
        - Src:             'lib/roles/h1/ops-h1.c:494,8'
          Dst:             lws_read_h2
        - Src:             'lib/roles/h1/ops-h1.c:497,8'
          Dst:             lws_read_h1
        - Src:             'lib/roles/h1/ops-h1.c:512,7'
          Dst:             lws_buflist_aware_finished_consuming
        - Src:             'lib/roles/h1/ops-h1.c:525,4'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/h1/ops-h1.c:554,6'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/h1/ops-h1.c:555,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:563,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:565,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h1/ops-h1.c:566,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/h1/ops-h1.c:567,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:581,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/h1/ops-h1.c:583,8'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/h1/ops-h1.c:584,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:590,7'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/h1/ops-h1.c:594,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:609,6'
          Dst:             lws_serve_http_file_fragment
        - Src:             'lib/roles/h1/ops-h1.c:618,2'
          Dst:             lws_close_free_wsi
    - functionName:    lws_read_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 359
      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:198,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:209,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:214,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h1/ops-h1.c:217,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:221,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:222,6'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h1/ops-h1.c:232,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h1/ops-h1.c:249,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h1/ops-h1.c:262,10'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/h1/ops-h1.c:267,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h1/ops-h1.c:267,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:274,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:279,6'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h1/ops-h1.c:294,7'
          Dst:             lws_ws_handshake_client
        - Src:             'lib/roles/h1/ops-h1.c:302,7'
          Dst:             lws_parse_ws
        - Src:             'lib/roles/h1/ops-h1.c:303,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:312,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:322,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:331,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:355,3'
          Dst:             lws_close_free_wsi
    - functionName:    rops_pt_init_destroy_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1215
      functionLinenumberEnd: 1231
      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: 628
      functionLinenumberEnd: 811
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         52
      ICount:          322
      EdgeCount:       73
      CyclomaticComplexity: 23
      functionsReached:
        - _lws_log
        - lws_buflist_total_len
        - lws_change_pollfd
        - lws_client_connect_3_connect
        - 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:645,10'
          Dst:             lws_ssl_capable_read
        - Src:             'lib/roles/h1/ops-h1.c:701,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h1/ops-h1.c:701,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:705,8'
          Dst:             lws_buflist_total_len
        - Src:             'lib/roles/h1/ops-h1.c:712,8'
          Dst:             lws_h1_server_socket_service
        - Src:             'lib/roles/h1/ops-h1.c:725,8'
          Dst:             lws_server_socket_service_ssl
        - Src:             'lib/roles/h1/ops-h1.c:750,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/h1/ops-h1.c:758,7'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/h1/ops-h1.c:761,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:774,12'
          Dst:             lws_handle_POLLOUT_event
        - Src:             'lib/roles/h1/ops-h1.c:781,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:787,6'
          Dst:             lws_http_client_socket_service
        - Src:             'lib/roles/h1/ops-h1.c:803,8'
          Dst:             lws_client_connect_3_connect
    - functionName:    rops_handle_POLLOUT_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 815
      functionLinenumberEnd: 884
      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: 889
      functionLinenumberEnd: 966
      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:959,6'
          Dst:             lws_issue_raw
    - functionName:    rops_alpn_negotiated_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 970
      functionLinenumberEnd: 985
      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:971,2'
          Dst:             _lws_log
    - functionName:    rops_close_kill_connection_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1196
      functionLinenumberEnd: 1208
      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: 990
      functionLinenumberEnd: 1019
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          99
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - __lws_header_table_detach
        - _lws_log
        - lws_pt_first_ah
        - lws_pt_next_ah
        - lws_realloc
        - lws_wsi_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h1/ops-h1.c:995,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:996,2'
          Dst:             __lws_header_table_detach
        - Src:             'lib/roles/h1/ops-h1.c:998,7'
          Dst:             lws_pt_first_ah
        - Src:             'lib/roles/h1/ops-h1.c:1002,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h1/ops-h1.c:1002,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:1009,8'
          Dst:             lws_pt_next_ah
        - Src:             'lib/roles/h1/ops-h1.c:1017,2'
          Dst:             lws_realloc
    - functionName:    rops_adoption_bind_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1026
      functionLinenumberEnd: 1082
      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:1034,8'
          Dst:             lws_header_table_attach
        - Src:             'lib/roles/h1/ops-h1.c:1035,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:1037,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:1045,3'
          Dst:             lws_role_transition
        - Src:             'lib/roles/h1/ops-h1.c:1055,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h1/ops-h1.c:1057,3'
          Dst:             lws_role_call_alpn_negotiated
        - Src:             'lib/roles/h1/ops-h1.c:1061,3'
          Dst:             lws_role_transition
        - Src:             'lib/roles/h1/ops-h1.c:1078,2'
          Dst:             lws_set_timeout
    - functionName:    rops_client_bind_h1
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1105
      functionLinenumberEnd: 1191
      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:1116,8'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/h1/ops-h1.c:1137,7'
          Dst:             lws_header_table_attach
        - Src:             'lib/roles/h1/ops-h1.c:1164,7'
          Dst:             lws_create_client_ws_object
        - Src:             'lib/roles/h1/ops-h1.c:1176,6'
          Dst:             _lws_is_http_method
        - Src:             'lib/roles/h1/ops-h1.c:1185,2'
          Dst:             lws_role_transition
    - functionName:    _lws_is_http_method
      functionSourceFile: '/src/libwebsockets/lib/roles/h1/ops-h1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1094
      functionLinenumberEnd: 1101
      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:1097,9'
          Dst:             strcmp
    - functionName:    lws_h2_client_stream_long_poll_rxonly
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3352
      functionLinenumberEnd: 3369
      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:3366,2'
          Dst:             lws_callback_on_writable
    - functionName:    lws_read_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3275
      functionLinenumberEnd: 3348
      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:3299,4'
          Dst:             lws_rxflow_cache
        - Src:             'lib/roles/h2/http2.c:3326,7'
          Dst:             lws_h2_parser
        - Src:             'lib/roles/h2/http2.c:3331,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:3332,4'
          Dst:             lws_close_free_wsi
    - functionName:    lws_h2_parser
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2312
      functionLinenumberEnd: 2824
      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:2325,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/http2.c:2413,4'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/http2.c:2438,5'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/http2.c:2759,5'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:2333,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:2333,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2334,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:2335,4'
          Dst:             lws_validity_confirmed
        - Src:             'lib/roles/h2/http2.c:2344,10'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:2347,4'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:2379,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2389,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2397,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2405,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2421,5'
          Dst:             lws_h2_settings
        - Src:             'lib/roles/h2/http2.c:2430,9'
          Dst:             lws_hpack_interpret
        - Src:             'lib/roles/h2/http2.c:2431,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2481,7'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h2/http2.c:2479,6'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/http2.c:2487,9'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/h2/http2.c:2489,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2494,6'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:2495,6'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:2495,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2505,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2512,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2520,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2536,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2550,7'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:2550,7'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2556,7'
          Dst:             lws_wsi_txc_describe
        - Src:             'lib/roles/h2/http2.c:2559,10'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/h2/http2.c:2572,7'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2581,10'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/roles/h2/http2.c:2599,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2610,9'
          Dst:             lws_read_h1
        - Src:             'lib/roles/h2/http2.c:2618,57'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/h2/http2.c:2620,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2633,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2664,6'
          Dst:             lws_h2_update_peer_txcredit_thresh
        - Src:             'lib/roles/h2/http2.c:2675,6'
          Dst:             lws_h2_update_peer_txcredit
        - Src:             'lib/roles/h2/http2.c:2688,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2692,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2726,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2734,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2745,8'
          Dst:             lws_h2_parse_end_of_frame
        - Src:             'lib/roles/h2/http2.c:2791,8'
          Dst:             lws_h2_parse_frame_header
        - Src:             'lib/roles/h2/http2.c:2810,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_zalloc
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:126,37'
          Dst:             lws_zalloc
    - functionName:    lws_pps_schedule
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 490
      functionLinenumberEnd: 513
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          77
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
        - lws_callback_on_writable
        - lws_dll2_add_head
        - lws_dll2_count
        - lws_get_network_wsi
        - lws_h2_goaway
        - lws_realloc
        - lws_rx_flow_control
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:491,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:495,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:496,3'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/http2.c:501,6'
          Dst:             lws_dll2_count
        - Src:             'lib/roles/h2/http2.c:502,3'
          Dst:             lws_dll2_count
        - Src:             'lib/roles/h2/http2.c:502,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:504,3'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/http2.c:505,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:509,2'
          Dst:             lws_dll2_add_head
        - Src:             'lib/roles/h2/http2.c:510,2'
          Dst:             lws_rx_flow_control
        - Src:             'lib/roles/h2/http2.c:512,2'
          Dst:             lws_callback_on_writable
    - functionName:    lws_h2_goaway
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 517
      functionLinenumberEnd: 539
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          83
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_log_cx
        - lws_h2_new_pps
        - lws_log_prepend_wsi
        - lws_pps_schedule
        - lws_strncpy
        - lwsl_wsi_get_cx
      functionUses:    62
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:524,8'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:528,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/h2/http2.c:528,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/h2/http2.c:528,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/h2/http2.c:533,2'
          Dst:             lws_strncpy
        - Src:             'lib/roles/h2/http2.c:534,2'
          Dst:             lws_pps_schedule
    - functionName:    lws_h2_settings
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 575
      functionLinenumberEnd: 682
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         49
      ICount:          345
      EdgeCount:       63
      CyclomaticComplexity: 16
      functionsReached:
        - _lws_log
        - lws_callback_on_writable
        - lws_dll2_get_head
        - lws_get_network_wsi
        - lws_h2_dump_settings
        - lws_h2_goaway
      functionUses:    2
      BranchProfiles:
        - Branch String:   'lib/roles/h2/http2.c:591,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:576,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:596,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:605,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:636,4'
          Dst:             lws_dll2_get_head
        - Src:             'lib/roles/h2/http2.c:640,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:650,6'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:656,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:661,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:670,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:679,2'
          Dst:             lws_h2_dump_settings
    - functionName:    lws_h2_update_peer_txcredit_thresh
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 259
      functionLinenumberEnd: 264
      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:263,9'
          Dst:             lws_h2_update_peer_txcredit
    - functionName:    lws_h2_update_peer_txcredit
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 239
      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:200,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:203,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/h2/http2.c:211,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:214,8'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:222,2'
          Dst:             lws_wsi_txc_describe
        - Src:             'lib/roles/h2/http2.c:224,2'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:226,8'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:234,2'
          Dst:             lws_wsi_txc_describe
        - Src:             'lib/roles/h2/http2.c:236,2'
          Dst:             lws_pps_schedule
    - functionName:    lws_h2_parse_end_of_frame
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1674
      functionLinenumberEnd: 2291
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         244
      ICount:          2016
      EdgeCount:       326
      CyclomaticComplexity: 84
      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_dll2_get_head
        - 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_token_is_credential
        - 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:1694,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/http2.c:1896,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/http2.c:1997,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:1684,15'
          Dst:             lws_wsi_mux_from_id
        - Src:             'lib/roles/h2/http2.c:1690,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1707,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1716,16'
          Dst:             __lws_wsi_server_new
        - Src:             'lib/roles/h2/http2.c:1725,4'
          Dst:             lws_wsi_mux_from_id
        - Src:             'lib/roles/h2/http2.c:1725,4'
          Dst:             __assert_fail
        - Src:             'lib/roles/h2/http2.c:1731,4'
          Dst:             lws_role_transition
        - Src:             'lib/roles/h2/http2.c:1790,45'
          Dst:             lws_get_opaque_user_data
        - Src:             'lib/roles/h2/http2.c:1805,5'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/http2.c:1815,4'
          Dst:             lws_strncpy
        - Src:             'lib/roles/h2/http2.c:1821,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1821,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1821,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1825,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1825,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1835,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1835,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1841,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:1846,11'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:1849,5'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:1850,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1856,4'
          Dst:             lws_wsi_mux_apply_queue
        - Src:             'lib/roles/h2/http2.c:1870,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1877,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1887,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1890,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1898,4'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1901,4'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1905,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1905,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1905,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1911,7'
          Dst:             lws_client_interpret_server_handshake
        - Src:             'lib/roles/h2/http2.c:1921,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1926,7'
          Dst:             lws_hdr_extant
        - Src:             'lib/roles/h2/http2.c:1927,23'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:1933,24'
          Dst:             atoll
        - Src:             'lib/roles/h2/http2.c:1941,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1951,9'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/h2/http2.c:1957,11'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:1963,9'
          Dst:             lws_hdr_token_is_credential
        - Src:             'lib/roles/h2/http2.c:1965,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1976,9'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/h2/http2.c:1978,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1983,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1992,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1999,4'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:2003,5'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:2011,5'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:2038,4'
          Dst:             lws_h2_rst_stream
        - Src:             'lib/roles/h2/http2.c:2041,8'
          Dst:             lws_http_transaction_completed_client
        - Src:             'lib/roles/h2/http2.c:2042,5'
          Dst:             _lws_log
        - 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:2054,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2055,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2056,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2057,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2058,8'
          Dst:             lws_hdr_extant
        - Src:             'lib/roles/h2/http2.c:2059,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2064,7'
          Dst:             lws_hdr_extant
        - Src:             'lib/roles/h2/http2.c:2065,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2068,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2069,16'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2069,8'
          Dst:             strncmp
        - Src:             'lib/roles/h2/http2.c:2071,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2081,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2087,14'
          Dst:             strcasecmp
        - Src:             'lib/roles/h2/http2.c:2095,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2097,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:2098,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:2103,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2107,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2112,4'
          Dst:             lws_h2_rst_stream
        - Src:             'lib/roles/h2/http2.c:2119,4'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:2124,4'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:2134,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:2134,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2138,5'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:2149,5'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:2151,5'
          Dst:             lws_h2_rst_stream
        - Src:             'lib/roles/h2/http2.c:2154,9'
          Dst:             lws_http_transaction_completed_client
        - Src:             'lib/roles/h2/http2.c:2155,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2163,4'
          Dst:             lws_validity_confirmed
        - Src:             'lib/roles/h2/http2.c:2167,6'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:2171,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2174,4'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:2184,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2194,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2207,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2212,5'
          Dst:             lws_h2_rst_stream
        - Src:             'lib/roles/h2/http2.c:2216,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2222,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:2229,3'
          Dst:             lws_wsi_txc_report_manual_txcr_in
        - Src:             'lib/roles/h2/http2.c:2232,3'
          Dst:             lws_wsi_txc_describe
        - Src:             'lib/roles/h2/http2.c:2244,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/roles/h2/http2.c:2248,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:2253,11'
          Dst:             lws_h2_tx_cr_get
        - Src:             'lib/roles/h2/http2.c:2252,8'
          Dst:             lws_wsi_txc_check_skint
        - Src:             'lib/roles/h2/http2.c:2258,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:2263,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/h2/http2.c:2263,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/h2/http2.c:2263,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/h2/http2.c:2270,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2280,4'
          Dst:             lws_close_free_wsi
    - functionName:    lws_h2_parse_frame_header
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1167
      functionLinenumberEnd: 1639
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         221
      ICount:          1704
      EdgeCount:       302
      CyclomaticComplexity: 83
      functionsReached:
        - __lws_wsi_server_new
        - _lws_dll2_safe_next
        - _lws_log
        - _lws_log_cx
        - lws_close_free_wsi
        - lws_dll2_count
        - lws_dll2_get_head
        - 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:1319,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:1182,3'
          Dst:             lws_snprintf
        - Src:             'lib/roles/h2/http2.c:1183,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1191,12'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h2/http2.c:1201,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/http2.c:1205,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/http2.c:1209,15'
          Dst:             lws_wsi_mux_from_id
        - Src:             'lib/roles/h2/http2.c:1211,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1211,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1211,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1219,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1234,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1236,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1242,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1242,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1254,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1256,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/h2/http2.c:1256,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/h2/http2.c:1256,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/h2/http2.c:1263,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1267,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1278,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1278,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1280,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1288,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1288,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1298,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1306,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1314,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1321,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1323,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1324,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1327,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1332,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1336,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1341,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1346,4'
          Dst:             lws_h2_parse_end_of_frame
        - Src:             'lib/roles/h2/http2.c:1351,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1353,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1358,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1365,17'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1366,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1370,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1379,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1384,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1388,3'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:1392,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1395,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1402,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1418,11'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:1421,5'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:1429,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1436,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1441,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1447,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1452,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1461,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1467,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1477,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1480,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1487,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1495,17'
          Dst:             lws_wsi_mux_from_id
        - Src:             'lib/roles/h2/http2.c:1496,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1496,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1496,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1509,8'
          Dst:             lws_dll2_count
        - Src:             'lib/roles/h2/http2.c:1511,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1525,16'
          Dst:             __lws_wsi_server_new
        - Src:             'lib/roles/h2/http2.c:1532,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1543,8'
          Dst:             lws_h2_update_peer_txcredit
        - Src:             'lib/roles/h2/http2.c:1553,8'
          Dst:             lws_header_table_attach
        - Src:             'lib/roles/h2/http2.c:1554,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1568,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/roles/h2/http2.c:1574,5'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/http2.c:1568,3'
          Dst:             _lws_dll2_safe_next
        - Src:             'lib/roles/h2/http2.c:1591,4'
          Dst:             lws_mux_mark_immortal
        - Src:             'lib/roles/h2/http2.c:1592,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1592,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1598,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1605,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1605,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1609,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1618,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:1622,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1626,4'
          Dst:             lws_h2_parse_end_of_frame
        - Src:             'lib/roles/h2/http2.c:1628,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1631,3'
          Dst:             _lws_log
    - functionName:    lws_h2_state
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          199
      EdgeCount:       45
      CyclomaticComplexity: 14
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - lws_get_network_wsi
        - lws_log_prepend_wsi
        - lws_wsi_request_uri
        - lws_wsi_tag
        - lwsl_wsi_get_cx
      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
        - Src:             'lib/roles/h2/http2.c:176,22'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:181,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/h2/http2.c:181,4'
          Dst:             lws_wsi_request_uri
        - Src:             'lib/roles/h2/http2.c:181,4'
          Dst:             lws_wsi_request_uri
        - Src:             'lib/roles/h2/http2.c:181,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/h2/http2.c:181,4'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_dll2_count
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __lws_wsi_server_new
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 271
      functionLinenumberEnd: 375
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          354
      EdgeCount:       50
      CyclomaticComplexity: 14
      functionsReached:
        - __lws_vhost_unbind_wsi
        - _lws_log
        - lws_adopt_ss_server_accept
        - lws_create_new_server_wsi
        - lws_dll2_count
        - 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:272,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:291,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:293,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/http2.c:298,6'
          Dst:             lws_dll2_count
        - Src:             'lib/roles/h2/http2.c:300,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:315,2'
          Dst:             lws_snprintf
        - Src:             'lib/roles/h2/http2.c:316,8'
          Dst:             lws_create_new_server_wsi
        - Src:             'lib/roles/h2/http2.c:318,3'
          Dst:             lws_vh_tag
        - Src:             'lib/roles/h2/http2.c:318,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:330,2'
          Dst:             lws_wsi_mux_insert
        - Src:             'lib/roles/h2/http2.c:341,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:342,2'
          Dst:             lwsi_set_role
        - Src:             'lib/roles/h2/http2.c:345,6'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/h2/http2.c:349,6'
          Dst:             lws_adopt_ss_server_accept
        - Src:             'lib/roles/h2/http2.c:354,2'
          Dst:             lws_validity_confirmed
        - Src:             'lib/roles/h2/http2.c:356,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:356,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:356,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:359,2'
          Dst:             lws_wsi_txc_describe
        - Src:             'lib/roles/h2/http2.c:360,2'
          Dst:             lws_wsi_txc_describe
        - Src:             'lib/roles/h2/http2.c:366,2'
          Dst:             lws_wsi_mux_sibling_disconnect
        - Src:             'lib/roles/h2/http2.c:369,3'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/http2.c:371,2'
          Dst:             __lws_vhost_unbind_wsi
        - Src:             'lib/roles/h2/http2.c:372,2'
          Dst:             lws_realloc
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_h2_rst_stream
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 543
      functionLinenumberEnd: 570
      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:544,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:554,8'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:558,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:564,2'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:567,2'
          Dst:             lws_h2_state
    - functionName:    lws_h2_tx_cr_get
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 704
      functionLinenumberEnd: 721
      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:706,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:711,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:711,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: 3137
      functionLinenumberEnd: 3270
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         51
      ICount:          407
      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_get_child
        - 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:3145,6'
          Dst:             lws_add_http_header_status
        - Src:             'lib/roles/h2/http2.c:3148,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:3151,32'
          Dst:             lws_get_child
        - Src:             'lib/roles/h2/http2.c:3152,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:3154,16'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:3156,17'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:3156,10'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:3153,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:3165,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:3183,4'
          Dst:             lws_ss_tag
        - Src:             'lib/roles/h2/http2.c:3183,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:3183,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:3194,4'
          Dst:             lws_ss_event_helper
        - Src:             'lib/roles/h2/http2.c:3196,4'
          Dst:             lws_mux_mark_immortal
        - Src:             'lib/roles/h2/http2.c:3201,10'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:3198,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:3209,10'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:3207,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:3230,7'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/h2/http2.c:3238,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/h2/http2.c:3243,6'
          Dst:             lws_write
        - Src:             'lib/roles/h2/http2.c:3245,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:3255,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:3258,12'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:3259,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:3260,8'
          Dst:             lws_find_mount
        - Src:             'lib/roles/h2/http2.c:3267,2'
          Dst:             lws_validity_confirmed
    - functionName:    lws_h2_client_handshake
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2829
      functionLinenumberEnd: 3131
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         127
      ICount:          861
      EdgeCount:       175
      CyclomaticComplexity: 50
      functionsReached:
        - _lws_log
        - lws_add_http_header_by_token
        - lws_callback_on_writable
        - lws_client_http_body_pending
        - lws_cookie_send_cookies
        - lws_dll2_get_head
        - 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_set_timeout
        - lws_write
        - lws_wsi_tag
        - lwsi_set_state
        - strlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:2832,15'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2833,14'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2834,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:2859,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2872,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:2872,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2876,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:2897,10'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:2894,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2901,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2908,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2915,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2921,13'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:2932,11'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2937,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/http2.c:2938,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2940,12'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:2952,19'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2966,22'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/http2.c:2969,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:2978,35'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:2977,8'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:3021,8'
          Dst:             lws_http_multipart_headers
        - Src:             'lib/roles/h2/http2.c:3028,7'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/h2/http2.c:3032,3'
          Dst:             lws_client_http_body_pending
        - Src:             'lib/roles/h2/http2.c:3039,3'
          Dst:             lws_cookie_send_cookies
        - Src:             'lib/roles/h2/http2.c:3047,6'
          Dst:             lws_finalize_http_header
        - Src:             'lib/roles/h2/http2.c:3055,42'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/h2/http2.c:3061,6'
          Dst:             lws_write
        - Src:             'lib/roles/h2/http2.c:3064,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:3081,6'
          Dst:             lws_h2_update_peer_txcredit
        - Src:             'lib/roles/h2/http2.c:3084,2'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/http2.c:3085,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:3088,3'
          Dst:             lws_dll2_get_head
        - Src:             'lib/roles/h2/http2.c:3093,5'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:3098,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:3119,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:3120,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/http2.c:3122,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:3128,2'
          Dst:             _lws_log
    - functionName:    lws_h2_set_bin
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 909
      functionLinenumberEnd: 916
      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_dll2_get_tail
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 326
      functionLinenumberEnd: 326
      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_h2_do_pps_send
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 921
      functionLinenumberEnd: 1156
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         63
      ICount:          775
      EdgeCount:       82
      CyclomaticComplexity: 21
      functionsReached:
        - __lws_wsi_server_new
        - _lws_log
        - lws_close_free_wsi
        - lws_dll2_get_tail
        - lws_dll2_remove
        - 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:946,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/http2.c:934,24'
          Dst:             lws_dll2_get_tail
        - Src:             'lib/roles/h2/http2.c:941,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/h2/http2.c:944,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:944,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:956,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:960,5'
          Dst:             lws_h2_set_bin
        - Src:             'lib/roles/h2/http2.c:963,7'
          Dst:             lws_h2_frame_write
        - Src:             'lib/roles/h2/http2.c:967,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:981,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:984,7'
          Dst:             lws_h2_frame_write
        - Src:             'lib/roles/h2/http2.c:988,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:995,7'
          Dst:             lws_h2_frame_write
        - Src:             'lib/roles/h2/http2.c:999,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1005,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/http2.c:1009,19'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:1009,8'
          Dst:             lws_is_ssl
        - Src:             'lib/roles/h2/http2.c:1024,16'
          Dst:             __lws_wsi_server_new
        - Src:             'lib/roles/h2/http2.c:1036,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1040,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1040,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1046,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1049,8'
          Dst:             lws_http_action
        - Src:             'lib/roles/h2/http2.c:1063,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1065,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1070,7'
          Dst:             lws_h2_frame_write
        - Src:             'lib/roles/h2/http2.c:1079,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1095,7'
          Dst:             lws_h2_frame_write
        - Src:             'lib/roles/h2/http2.c:1100,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1106,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1111,7'
          Dst:             lws_h2_frame_write
        - Src:             'lib/roles/h2/http2.c:1114,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1117,10'
          Dst:             lws_wsi_mux_from_id
        - Src:             'lib/roles/h2/http2.c:1119,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1119,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:1119,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1123,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/http2.c:1128,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1135,7'
          Dst:             lws_h2_frame_write
        - Src:             'lib/roles/h2/http2.c:1139,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:1148,2'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/http2.c:1153,2'
          Dst:             lws_realloc
    - functionName:    lws_h2_frame_write
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 736
      functionLinenumberEnd: 804
      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:737,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:754,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:754,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:754,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:763,8'
          Dst:             lws_h2_tx_cr_get
        - Src:             'lib/roles/h2/http2.c:777,8'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/roles/h2/http2.c:782,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:789,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:789,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:792,5'
          Dst:             lws_h2_tx_cr_consume
        - Src:             'lib/roles/h2/http2.c:795,6'
          Dst:             lws_issue_raw
    - functionName:    lws_h2_tx_cr_consume
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 725
      functionLinenumberEnd: 732
      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:726,21'
          Dst:             lws_get_network_wsi
    - functionName:    lws_h2_ws_drain_parked_tx
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 821
      functionLinenumberEnd: 905
      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:832,15'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/h2/http2.c:850,8'
          Dst:             lws_h2_tx_cr_get
        - Src:             'lib/roles/h2/http2.c:870,3'
          Dst:             lws_h2_tx_cr_consume
        - Src:             'lib/roles/h2/http2.c:877,7'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/h2/http2.c:882,4'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/roles/h2/http2.c:901,3'
          Dst:             lws_buflist_use_segment
    - functionName:    lws_h2_issue_preface
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 450
      functionLinenumberEnd: 486
      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:455,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:462,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:462,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:464,45'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:464,6'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/h2/http2.c:465,8'
          Dst:             strlen
        - Src:             'lib/roles/h2/http2.c:470,2'
          Dst:             lws_role_transition
        - Src:             'lib/roles/h2/http2.c:479,8'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/http2.c:482,2'
          Dst:             lws_pps_schedule
        - Src:             'lib/roles/h2/http2.c:483,2'
          Dst:             _lws_log
    - functionName:    lws_wsi_h2_adopt
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 379
      functionLinenumberEnd: 445
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          174
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
        - lws_callback_on_writable
        - lws_dll2_count
        - 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:380,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/http2.c:383,6'
          Dst:             lws_dll2_count
        - Src:             'lib/roles/h2/http2.c:385,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:414,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/http2.c:414,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/http2.c:417,2'
          Dst:             lws_wsi_mux_insert
        - Src:             'lib/roles/h2/http2.c:423,2'
          Dst:             lws_wsi_txc_describe
        - Src:             'lib/roles/h2/http2.c:425,6'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/h2/http2.c:428,2'
          Dst:             lws_role_transition
        - Src:             'lib/roles/h2/http2.c:431,2'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/http2.c:437,2'
          Dst:             lws_wsi_mux_sibling_disconnect
        - Src:             'lib/roles/h2/http2.c:440,3'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/http2.c:442,2'
          Dst:             lws_realloc
    - functionName:    lws_h2_get_peer_rst_status
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 250
      functionLinenumberEnd: 255
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          25
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_h2_get_peer_txcredit_estimate
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/http2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 245
      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:244,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: 1719
      functionLinenumberEnd: 1735
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          57
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_add_http2_header_by_token
        - lws_snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:1728,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/h2/hpack.c:1729,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: 1707
      functionLinenumberEnd: 1715
      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:1710,9'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/h2/hpack.c:1714,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: 1586
      functionLinenumberEnd: 1702
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         50
      ICount:          380
      EdgeCount:       66
      CyclomaticComplexity: 18
      functionsReached:
        - __assert_fail
        - _lws_log
        - _lws_log_cx
        - lws_h2_num
        - lws_h2_num_start
        - lws_log_prepend_wsi
        - lws_strncpy
        - lwsl_wsi_get_cx
        - memcmp
        - strlen
        - strncmp
        - tolower
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:1593,3'
          Dst:             lws_strncpy
        - Src:             'lib/roles/h2/hpack.c:1596,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1599,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1603,13'
          Dst:             strlen
        - Src:             'lib/roles/h2/hpack.c:1641,13'
          Dst:             strlen
        - Src:             'lib/roles/h2/hpack.c:1642,9'
          Dst:             memcmp
        - Src:             'lib/roles/h2/hpack.c:1657,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/h2/hpack.c:1657,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/h2/hpack.c:1657,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/h2/hpack.c:1663,6'
          Dst:             __assert_fail
        - Src:             'lib/roles/h2/hpack.c:1671,29'
          Dst:             strncmp
        - Src:             'lib/roles/h2/hpack.c:1673,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1683,37'
          Dst:             lws_h2_num_start
        - Src:             'lib/roles/h2/hpack.c:1684,6'
          Dst:             lws_h2_num
        - Src:             'lib/roles/h2/hpack.c:1691,24'
          Dst:             tolower
        - Src:             'lib/roles/h2/hpack.c:1693,37'
          Dst:             lws_h2_num_start
        - Src:             'lib/roles/h2/hpack.c:1694,6'
          Dst:             lws_h2_num
    - functionName:    lws_h2_num_start
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1551
      functionLinenumberEnd: 1558
      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: 1563
      functionLinenumberEnd: 1581
      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: 307
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          95
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log
        - lws_hdr_copy
        - lws_hdr_token_is_credential
        - lws_hdr_total_length
        - lws_token_to_string
        - strcpy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:309,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:319,7'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/h2/hpack.c:321,7'
          Dst:             lws_hdr_token_is_credential
        - Src:             'lib/roles/h2/hpack.c:323,4'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/hpack.c:323,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:330,9'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/h2/hpack.c:332,4'
          Dst:             strcpy
        - Src:             'lib/roles/h2/hpack.c:335,3'
          Dst:             _lws_log
    - functionName:    lws_frag_end
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 293
      functionLinenumberEnd: 303
      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:294,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:295,6'
          Dst:             lws_frag_append
    - functionName:    lws_frag_append
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 280
      functionLinenumberEnd: 290
      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: 503
      functionLinenumberEnd: 588
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         58
      ICount:          502
      EdgeCount:       77
      CyclomaticComplexity: 21
      functionsReached:
        - _lws_log
        - lws_dynamic_free
        - lws_get_network_wsi
        - lws_h2_dynamic_table_dump
        - lws_hdr_token_is_credential
        - lws_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:508,8'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/hpack.c:514,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:518,2'
          Dst:             lws_h2_dynamic_table_dump
        - Src:             'lib/roles/h2/hpack.c:523,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:525,3'
          Dst:             lws_dynamic_free
        - Src:             'lib/roles/h2/hpack.c:542,3'
          Dst:             lws_dynamic_free
        - Src:             'lib/roles/h2/hpack.c:552,4'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/hpack.c:554,5'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/hpack.c:571,6'
          Dst:             lws_hdr_token_is_credential
        - Src:             'lib/roles/h2/hpack.c:573,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:578,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:585,2'
          Dst:             lws_h2_dynamic_table_dump
    - functionName:    lws_h2_dynamic_table_dump
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 437
      functionLinenumberEnd: 469
      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: 474
      functionLinenumberEnd: 484
      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:475,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:478,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: 277
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         41
      ICount:          324
      EdgeCount:       56
      CyclomaticComplexity: 17
      functionsReached:
        - _lws_log
        - _lws_log_cx
        - lws_get_network_wsi
        - lws_h2_goaway
        - lws_log_prepend_wsi
        - lws_snprintf
        - lws_token_to_string
        - lwsl_wsi_get_cx
      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,35'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/h2/hpack.c:240,4'
          Dst:             lws_snprintf
        - Src:             'lib/roles/h2/hpack.c:242,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/h2/hpack.c:242,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/h2/hpack.c:242,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/h2/hpack.c:244,18'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/hpack.c:244,4'
          Dst:             lws_h2_goaway
    - functionName:    lws_hpack_use_idx_hdr
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 762
      functionLinenumberEnd: 811
      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:766,12'
          Dst:             lws_token_from_index
        - Src:             'lib/roles/h2/hpack.c:769,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:774,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:782,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:785,3'
          Dst:             lws_token_to_string
        - Src:             'lib/roles/h2/hpack.c:785,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:797,6'
          Dst:             lws_frag_start
        - Src:             'lib/roles/h2/hpack.c:802,8'
          Dst:             lws_frag_append
        - Src:             'lib/roles/h2/hpack.c:805,6'
          Dst:             lws_frag_end
        - Src:             'lib/roles/h2/hpack.c:808,2'
          Dst:             lws_dump_header
    - functionName:    lws_token_from_index
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 365
      functionLinenumberEnd: 433
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          306
      EdgeCount:       56
      CyclomaticComplexity: 17
      functionsReached:
        - _lws_log
        - lws_get_network_wsi
        - lws_h2_goaway
        - strlen
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:372,8'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/hpack.c:384,16'
          Dst:             strlen
        - Src:             'lib/roles/h2/hpack.c:401,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:403,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:409,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:411,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:421,2'
          Dst:             _lws_log
    - functionName:    lws_hpack_handle_pseudo_rules
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 857
      functionLinenumberEnd: 880
      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:864,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:871,3'
          Dst:             lws_h2_goaway
    - functionName:    lws_hpack_interpret
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 883
      functionLinenumberEnd: 1545
      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:911,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/hpack.c:991,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/hpack.c:1070,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/hpack.c:1184,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/hpack.c:1250,7'
          Branch Sides:    []
        - Branch String:   'lib/roles/h2/hpack.c:1417,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:884,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/hpack.c:897,3'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:926,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:927,4'
          Dst:             lws_h2_dynamic_table_dump
        - Src:             'lib/roles/h2/hpack.c:937,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:942,8'
          Dst:             lws_token_from_index
        - Src:             'lib/roles/h2/hpack.c:944,8'
          Dst:             lws_hpack_handle_pseudo_rules
        - Src:             'lib/roles/h2/hpack.c:947,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:948,8'
          Dst:             lws_hpack_use_idx_hdr
        - Src:             'lib/roles/h2/hpack.c:949,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:963,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:972,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:985,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1000,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1007,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1012,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1016,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1019,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1037,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1047,8'
          Dst:             lws_hpack_dynamic_size
        - Src:             'lib/roles/h2/hpack.c:1055,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1056,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1068,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1072,8'
          Dst:             lws_hpack_use_idx_hdr
        - Src:             'lib/roles/h2/hpack.c:1074,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1082,8'
          Dst:             lws_hpack_dynamic_size
        - Src:             'lib/roles/h2/hpack.c:1090,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1116,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1117,5'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1131,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1175,8'
          Dst:             lws_token_from_index
        - Src:             'lib/roles/h2/hpack.c:1177,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1197,8'
          Dst:             lws_frag_start
        - Src:             'lib/roles/h2/hpack.c:1198,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1214,32'
          Dst:             huftable_decode
        - Src:             'lib/roles/h2/hpack.c:1218,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1234,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1250,15'
          Dst:             lws_parse_urldecode
        - Src:             'lib/roles/h2/hpack.c:1258,8'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1267,10'
          Dst:             lws_frag_append
        - Src:             'lib/roles/h2/hpack.c:1268,7'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1296,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1299,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1319,9'
          Dst:             lws_parse
        - Src:             'lib/roles/h2/hpack.c:1336,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1338,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1348,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1355,9'
          Dst:             lws_parse
        - Src:             'lib/roles/h2/hpack.c:1384,5'
          Dst:             lws_ser_wu16be
        - Src:             'lib/roles/h2/hpack.c:1391,6'
          Dst:             lws_ser_wu32be
        - Src:             'lib/roles/h2/hpack.c:1424,8'
          Dst:             lws_token_from_index
        - Src:             'lib/roles/h2/hpack.c:1445,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1450,6'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1464,8'
          Dst:             lws_dynamic_token_insert
        - Src:             'lib/roles/h2/hpack.c:1467,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:1476,49'
          Dst:             lws_frag_end
        - Src:             'lib/roles/h2/hpack.c:1488,9'
          Dst:             lws_token_from_index
        - Src:             'lib/roles/h2/hpack.c:1493,4'
          Dst:             lws_dump_header
        - Src:             'lib/roles/h2/hpack.c:1495,7'
          Dst:             lws_hpack_handle_pseudo_rules
        - Src:             'lib/roles/h2/hpack.c:1511,15'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/hpack.c:1512,16'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/hpack.c:1517,8'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:1531,4'
          Dst:             lws_ser_wu16be
    - functionName:    lws_hpack_dynamic_size
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 592
      functionLinenumberEnd: 722
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         68
      ICount:          500
      EdgeCount:       91
      CyclomaticComplexity: 25
      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:614,9'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/hpack.c:619,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:631,3'
          Dst:             lws_hpack_destroy_dynamic_header
        - Src:             'lib/roles/h2/hpack.c:635,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:640,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/hpack.c:647,4'
          Dst:             lws_h2_goaway
        - Src:             'lib/roles/h2/hpack.c:675,8'
          Dst:             lws_zalloc
        - Src:             'lib/roles/h2/hpack.c:688,3'
          Dst:             lws_dynamic_free
        - Src:             'lib/roles/h2/hpack.c:703,3'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/hpack.c:714,2'
          Dst:             lws_h2_dynamic_table_dump
        - Src:             'lib/roles/h2/hpack.c:719,2'
          Dst:             _lws_log
    - functionName:    lws_hpack_destroy_dynamic_header
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/hpack.c'
      linkageType:     InternalLinkage
      functionLinenumber: 726
      functionLinenumberEnd: 758
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          117
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - lws_realloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/hpack.c:740,4'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/hpack.c:742,2'
          Dst:             lws_realloc
    - functionName:    lws_dll2_get_next
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 349
      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_pt_next_ah
      functionSourceFile: '/src/libwebsockets/lib/roles/http/private-lib-roles-http.h'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_next
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/private-lib-roles-http.h:205,23'
          Dst:             lws_dll2_get_next
    - functionName:    lws_pt_first_ah
      functionSourceFile: '/src/libwebsockets/lib/roles/http/private-lib-roles-http.h'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/private-lib-roles-http.h:197,23'
          Dst:             lws_dll2_get_head
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_h2_bind_for_post_before_action
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 921
      functionLinenumberEnd: 1078
      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:978,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/ops-h2.c:929,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:930,12'
          Dst:             strcmp
        - Src:             'lib/roles/h2/ops-h2.c:934,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/ops-h2.c:935,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:946,5'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:947,5'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/h2/ops-h2.c:945,8'
          Dst:             lws_find_mount
        - Src:             'lib/roles/h2/ops-h2.c:949,2'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:949,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:967,8'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/h2/ops-h2.c:969,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:973,7'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/h2/ops-h2.c:978,11'
          Dst:             lws_check_basic_auth
        - Src:             'lib/roles/h2/ops-h2.c:984,11'
          Dst:             lws_unauthorised_basic_auth
        - Src:             'lib/roles/h2/ops-h2.c:986,4'
          Dst:             lws_return_http_status
        - Src:             'lib/roles/h2/ops-h2.c:987,11'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/h2/ops-h2.c:992,12'
          Dst:             lws_http_get_uri_and_method
        - Src:             'lib/roles/h2/ops-h2.c:1008,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1011,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/ops-h2.c:1028,17'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/h2/ops-h2.c:1035,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1042,3'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/roles/h2/ops-h2.c:1064,3'
          Dst:             lws_dll2_remove
    - functionName:    rops_issue_keepalive_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1627
      functionLinenumberEnd: 1661
      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:1628,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1630,26'
          Dst:             lws_now_usecs
        - Src:             'lib/roles/h2/ops-h2.c:1633,3'
          Dst:             _lws_validity_confirmed_role
        - Src:             'lib/roles/h2/ops-h2.c:1643,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/h2/ops-h2.c:1645,8'
          Dst:             lws_h2_new_pps
        - Src:             'lib/roles/h2/ops-h2.c:1658,2'
          Dst:             lws_pps_schedule
    - functionName:    rops_destroy_role_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 743
      functionLinenumberEnd: 775
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          147
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - __lws_header_table_detach
        - _lws_log
        - lws_hpack_destroy_dynamic_header
        - lws_pt_first_ah
        - lws_pt_next_ah
        - lws_realloc
        - lws_wsi_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/ops-h2.c:748,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:748,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:749,2'
          Dst:             __lws_header_table_detach
        - Src:             'lib/roles/h2/ops-h2.c:751,7'
          Dst:             lws_pt_first_ah
        - Src:             'lib/roles/h2/ops-h2.c:755,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:755,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:761,8'
          Dst:             lws_pt_next_ah
        - Src:             'lib/roles/h2/ops-h2.c:769,3'
          Dst:             lws_hpack_destroy_dynamic_header
        - Src:             'lib/roles/h2/ops-h2.c:772,4'
          Dst:             lws_realloc
    - functionName:    rops_close_kill_connection_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 780
      functionLinenumberEnd: 865
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         54
      ICount:          348
      EdgeCount:       72
      CyclomaticComplexity: 20
      functionsReached:
        - _lws_log
        - lws_callback_on_writable
        - lws_dll2_get_head
        - lws_dll2_is_empty
        - lws_dll2_remove
        - 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:805,3'
          Dst:             lws_h2_rst_stream
        - Src:             'lib/roles/h2/ops-h2.c:812,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:812,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:812,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:813,2'
          Dst:             lws_wsi_mux_dump_children
        - Src:             'lib/roles/h2/ops-h2.c:820,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:820,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:820,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:823,7'
          Dst:             lws_dll2_get_head
        - Src:             'lib/roles/h2/ops-h2.c:823,56'
          Dst:             lwsl_visible
        - Src:             'lib/roles/h2/ops-h2.c:824,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:824,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:825,4'
          Dst:             lws_wsi_mux_dump_children
        - Src:             'lib/roles/h2/ops-h2.c:827,3'
          Dst:             lws_wsi_mux_close_children
        - Src:             'lib/roles/h2/ops-h2.c:832,10'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/roles/h2/ops-h2.c:833,25'
          Dst:             lws_dll2_get_head
        - Src:             'lib/roles/h2/ops-h2.c:834,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/h2/ops-h2.c:835,4'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/ops-h2.c:851,4'
          Dst:             lws_dll2_get_head
        - Src:             'lib/roles/h2/ops-h2.c:856,6'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/ops-h2.c:860,3'
          Dst:             lws_wsi_mux_sibling_disconnect
        - Src:             'lib/roles/h2/ops-h2.c:862,4'
          Dst:             lws_realloc
    - functionName:    lws_dll2_is_empty
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 344
      functionLinenumberEnd: 345
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_count
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'include/libwebsockets/lws-dll2.h:345,10'
          Dst:             lws_dll2_count
    - functionName:    lws_dll2_count
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rops_alpn_negotiated_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1583
      functionLinenumberEnd: 1623
      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:1586,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1589,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1600,2'
          Dst:             lws_role_transition
        - Src:             'lib/roles/h2/ops-h2.c:1607,17'
          Dst:             lws_zalloc
        - Src:             'lib/roles/h2/ops-h2.c:1611,2'
          Dst:             lws_h2_init
        - Src:             'lib/roles/h2/ops-h2.c:1615,6'
          Dst:             lws_hpack_dynamic_size
        - Src:             'lib/roles/h2/ops-h2.c:1620,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1620,2'
          Dst:             _lws_log
    - functionName:    rops_check_upgrades_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 625
      functionLinenumberEnd: 659
      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:635,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:637,35'
          Dst:             strcmp
        - Src:             'lib/roles/h2/ops-h2.c:640,6'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/h2/ops-h2.c:641,12'
          Dst:             strcmp
        - Src:             'lib/roles/h2/ops-h2.c:644,2'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:645,2'
          Dst:             lws_mux_mark_immortal
        - Src:             'lib/roles/h2/ops-h2.c:650,6'
          Dst:             lws_process_ws_upgrade
        - Src:             'lib/roles/h2/ops-h2.c:653,2'
          Dst:             _lws_log
    - functionName:    rops_pt_init_destroy_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 681
      functionLinenumberEnd: 701
      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: 665
      functionLinenumberEnd: 674
      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: 453
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         164
      ICount:          983
      EdgeCount:       223
      CyclomaticComplexity: 61
      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:277,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/h2/ops-h2.c:125,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:134,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:152,13'
          Dst:             lws_handle_POLLOUT_event
        - Src:             'lib/roles/h2/ops-h2.c:159,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:164,7'
          Dst:             lws_http_client_socket_service
        - Src:             'lib/roles/h2/ops-h2.c:179,8'
          Dst:             lws_handle_POLLOUT_event
        - Src:             'lib/roles/h2/ops-h2.c:186,5'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/ops-h2.c:203,3'
          Dst:             lws_rx_flow_control
        - Src:             'lib/roles/h2/ops-h2.c:211,10'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/ops-h2.c:212,15'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/h2/ops-h2.c:214,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:224,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:233,18'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/h2/ops-h2.c:236,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:242,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:242,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:244,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/h2/ops-h2.c:249,7'
          Dst:             lws_ssl_pending
        - Src:             'lib/roles/h2/ops-h2.c:267,13'
          Dst:             lws_ssl_capable_read
        - Src:             'lib/roles/h2/ops-h2.c:279,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:282,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:286,12'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h2/ops-h2.c:284,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/ops-h2.c:289,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:293,12'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h2/ops-h2.c:291,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/ops-h2.c:296,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:309,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:316,11'
          Dst:             lws_wsi_keepalive_timeout_eff
        - Src:             'lib/roles/h2/ops-h2.c:314,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/ops-h2.c:322,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:344,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/h2/ops-h2.c:350,7'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/h2/ops-h2.c:354,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:370,8'
          Dst:             lws_read_h2
        - Src:             'lib/roles/h2/ops-h2.c:372,8'
          Dst:             lws_read_h1
        - Src:             'lib/roles/h2/ops-h2.c:397,13'
          Dst:             lws_buflist_use_segment
        - Src:             'lib/roles/h2/ops-h2.c:398,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:401,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:401,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:403,5'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/h2/ops-h2.c:413,9'
          Dst:             lws_buflist_append_segment
        - Src:             'lib/roles/h2/ops-h2.c:419,6'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:419,6'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:421,10'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/roles/h2/ops-h2.c:422,7'
          Dst:             lws_dll2_add_head
        - Src:             'lib/roles/h2/ops-h2.c:449,27'
          Dst:             lws_ssl_pending
    - functionName:    rops_handle_POLLOUT_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 457
      functionLinenumberEnd: 501
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          136
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log
        - lws_dll2_get_head
        - lws_dll2_is_empty
        - lws_h2_do_pps_send
        - lws_rx_flow_control
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/ops-h2.c:474,9'
          Dst:             lws_dll2_get_head
        - Src:             'lib/roles/h2/ops-h2.c:475,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:480,7'
          Dst:             lws_h2_do_pps_send
        - Src:             'lib/roles/h2/ops-h2.c:484,7'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/roles/h2/ops-h2.c:488,3'
          Dst:             lws_rx_flow_control
    - functionName:    rops_perform_user_POLLOUT_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1096
      functionLinenumberEnd: 1570
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         164
      ICount:          1127
      EdgeCount:       227
      CyclomaticComplexity: 65
      functionsReached:
        - _lws_dll2_safe_next
        - _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_get_head
        - lws_dll2_is_empty
        - 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:1102,8'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1110,2'
          Dst:             lws_wsi_mux_dump_waiting_children
        - Src:             'lib/roles/h2/ops-h2.c:1112,5'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/roles/h2/ops-h2.c:1130,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/roles/h2/ops-h2.c:1134,27'
          Dst:             lws_send_pipe_choked
        - Src:             'lib/roles/h2/ops-h2.c:1146,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1146,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1147,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/h2/ops-h2.c:1148,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/roles/h2/ops-h2.c:1170,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1170,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1190,8'
          Dst:             lws_h2_ws_drain_parked_tx
        - Src:             'lib/roles/h2/ops-h2.c:1191,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1193,5'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1200,5'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/ops-h2.c:1210,7'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/h2/ops-h2.c:1211,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1212,8'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/h2/ops-h2.c:1213,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1214,5'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1218,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/ops-h2.c:1274,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1287,14'
          Dst:             strlen
        - Src:             'lib/roles/h2/ops-h2.c:1285,8'
          Dst:             lws_write
        - Src:             'lib/roles/h2/ops-h2.c:1290,4'
          Dst:             lws_realloc
        - Src:             'lib/roles/h2/ops-h2.c:1291,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1300,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1304,8'
          Dst:             lws_h2_client_handshake
        - Src:             'lib/roles/h2/ops-h2.c:1321,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/ops-h2.c:1327,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1327,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1329,5'
          Dst:             lws_dll2_add_head
        - Src:             'lib/roles/h2/ops-h2.c:1334,8'
          Dst:             lws_h2_bind_for_post_before_action
        - Src:             'lib/roles/h2/ops-h2.c:1349,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1350,8'
          Dst:             lws_http_action
        - Src:             'lib/roles/h2/ops-h2.c:1352,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1354,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1366,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1367,5'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1379,11'
          Dst:             lws_h2_tx_cr_get
        - Src:             'lib/roles/h2/ops-h2.c:1378,8'
          Dst:             lws_wsi_txc_check_skint
        - Src:             'lib/roles/h2/ops-h2.c:1391,8'
          Dst:             lws_serve_http_file_fragment
        - Src:             'lib/roles/h2/ops-h2.c:1392,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1399,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1399,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1401,5'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1406,9'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/roles/h2/ops-h2.c:1409,5'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/ops-h2.c:1424,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1426,8'
          Dst:             lws_write
        - Src:             'lib/roles/h2/ops-h2.c:1430,5'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/ops-h2.c:1431,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/ops-h2.c:1432,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1444,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1444,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1450,8'
          Dst:             lws_write
        - Src:             'lib/roles/h2/ops-h2.c:1455,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/ops-h2.c:1468,8'
          Dst:             lws_write
        - Src:             'lib/roles/h2/ops-h2.c:1477,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1479,5'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/ops-h2.c:1480,5'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1485,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/h2/ops-h2.c:1505,9'
          Dst:             rops_write_role_protocol_h2
        - Src:             'lib/roles/h2/ops-h2.c:1507,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1507,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1509,5'
          Dst:             lws_mux_mark_immortal
        - Src:             'lib/roles/h2/ops-h2.c:1511,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:1511,5'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1516,7'
          Dst:             lws_callback_as_writeable
        - Src:             'lib/roles/h2/ops-h2.c:1517,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:1519,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/h2/ops-h2.c:1523,5'
          Dst:             lws_h2_state
        - Src:             'lib/roles/h2/ops-h2.c:1538,5'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/h2/ops-h2.c:1539,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/h2/ops-h2.c:1130,2'
          Dst:             _lws_dll2_safe_next
        - Src:             'lib/roles/h2/ops-h2.c:1560,21'
          Dst:             lws_dll2_get_head
        - Src:             'lib/roles/h2/ops-h2.c:1561,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/h2/ops-h2.c:1566,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: 870
      functionLinenumberEnd: 916
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          137
      EdgeCount:       31
      CyclomaticComplexity: 10
      functionsReached:
        - _lws_log
        - lws_dll2_get_head
        - 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:884,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:890,33'
          Dst:             lws_dll2_get_head
        - Src:             'lib/roles/h2/ops-h2.c:891,41'
          Dst:             lws_h2_tx_cr_get
        - Src:             'lib/roles/h2/ops-h2.c:891,6'
          Dst:             lws_wsi_txc_check_skint
        - Src:             'lib/roles/h2/ops-h2.c:896,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:901,16'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/ops-h2.c:903,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: 707
      functionLinenumberEnd: 739
      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:708,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/h2/ops-h2.c:717,11'
          Dst:             lws_h2_update_peer_txcredit
        - Src:             'lib/roles/h2/ops-h2.c:732,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: 506
      functionLinenumberEnd: 620
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         77
      ICount:          468
      EdgeCount:       105
      CyclomaticComplexity: 30
      functionsReached:
        - _lws_log
        - lws_h2_frame_write
        - lws_http_response_started
        - lws_wsi_tag
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/h2/ops-h2.c:530,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:579,3'
          Dst:             lws_http_response_started
        - Src:             'lib/roles/h2/ops-h2.c:597,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:597,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:601,4'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:608,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/h2/ops-h2.c:608,3'
          Dst:             _lws_log
        - Src:             'lib/roles/h2/ops-h2.c:613,6'
          Dst:             lws_h2_frame_write
    - functionName:    rops_encapsulation_parent_h2
      functionSourceFile: '/src/libwebsockets/lib/roles/h2/ops-h2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1574
      functionLinenumberEnd: 1579
      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: 2160
      functionLinenumberEnd: 2176
      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: 2262
      functionLinenumberEnd: 2278
      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:2267,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:2267,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:2267,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:2268,3'
          Dst:             _lws_validity_confirmed_role
        - Src:             'lib/roles/ws/ops-ws.c:2270,18'
          Dst:             lws_now_usecs
        - Src:             'lib/roles/ws/ops-ws.c:2273,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:2273,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:2273,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:2275,3'
          Dst:             lws_callback_on_writable
    - functionName:    rops_destroy_role_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2250
      functionLinenumberEnd: 2257
      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:2255,2'
          Dst:             lws_realloc
    - functionName:    rops_close_kill_connection_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2115
      functionLinenumberEnd: 2127
      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: 1659
      functionLinenumberEnd: 1706
      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:1695,2'
          Dst:             lws_realloc
    - functionName:    rops_close_via_role_protocol_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1628
      functionLinenumberEnd: 1655
      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:1637,2'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1649,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/ops-ws.c:1650,2'
          Dst:             __lws_set_timeout
        - Src:             'lib/roles/ws/ops-ws.c:1652,2'
          Dst:             lws_callback_on_writable
    - functionName:    rops_write_role_protocol_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1711
      functionLinenumberEnd: 2111
      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:1799,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/ops-ws.c:1884,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/ops-ws.c:1892,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/ops-ws.c:2054,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/ws/ops-ws.c:1772,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1880,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1896,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:1896,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:1896,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:1897,5'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/ops-ws.c:1906,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:1906,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:1906,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:1907,5'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/ops-ws.c:1916,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:1916,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:1916,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:1917,5'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/ops-ws.c:1920,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/ops-ws.c:1920,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/ops-ws.c:1920,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/ops-ws.c:1921,5'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/ops-ws.c:1938,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1989,8'
          Dst:             lws_0405_frame_mask_generate
        - Src:             'lib/roles/ws/ops-ws.c:1990,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:2008,23'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/ws/ops-ws.c:2010,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/ops-ws.c:2083,8'
          Dst:             lws_issue_raw
        - Src:             'lib/roles/ws/ops-ws.c:2110,9'
          Dst:             lws_issue_raw
    - functionName:    rops_callback_on_writable_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2131
      functionLinenumberEnd: 2156
      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:2139,3'
          Dst:             __assert_fail
    - functionName:    rops_handle_POLLIN_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1023
      functionLinenumberEnd: 1376
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         155
      ICount:          880
      EdgeCount:       209
      CyclomaticComplexity: 56
      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:1232,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/ws/ops-ws.c:1030,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1054,13'
          Dst:             lws_handle_POLLOUT_event
        - Src:             'lib/roles/ws/ops-ws.c:1061,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1066,7'
          Dst:             lws_http_client_socket_service
        - Src:             'lib/roles/ws/ops-ws.c:1081,8'
          Dst:             lws_handle_POLLOUT_event
        - Src:             'lib/roles/ws/ops-ws.c:1088,5'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/ops-ws.c:1102,3'
          Dst:             lws_rx_flow_control
        - Src:             'lib/roles/ws/ops-ws.c:1129,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1131,7'
          Dst:             __lws_change_pollfd
        - Src:             'lib/roles/ws/ops-ws.c:1172,18'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/ws/ops-ws.c:1175,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1184,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1220,14'
          Dst:             lws_ssl_capable_read
        - Src:             'lib/roles/ws/ops-ws.c:1234,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1239,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1242,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1279,9'
          Dst:             lws_read_h2
        - Src:             'lib/roles/ws/ops-ws.c:1283,9'
          Dst:             lws_read_h1
        - Src:             'lib/roles/ws/ops-ws.c:1301,8'
          Dst:             lws_buflist_aware_finished_consuming
        - Src:             'lib/roles/ws/ops-ws.c:1318,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1319,3'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/ws/ops-ws.c:1322,26'
          Dst:             lws_ssl_pending
        - Src:             'lib/roles/ws/ops-ws.c:1324,18'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/ws/ops-ws.c:1329,6'
          Dst:             lws_buflist_total_len
        - Src:             'lib/roles/ws/ops-ws.c:1334,7'
          Dst:             lws_is_ws_with_ext
        - Src:             'lib/roles/ws/ops-ws.c:1355,4'
          Dst:             lws_log_ratelimit_check
        - Src:             'lib/roles/ws/ops-ws.c:1355,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/ws/ops-ws.c:1355,4'
          Dst:             _lws_log_rl
        - Src:             'lib/roles/ws/ops-ws.c:1364,7'
          Dst:             lws_buflist_next_segment_len
        - Src:             'lib/roles/ws/ops-ws.c:1365,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1370,3'
          Dst:             __lws_rx_flow_control
    - functionName:    rops_init_vhost_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/ops-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2181
      functionLinenumberEnd: 2222
      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: 2227
      functionLinenumberEnd: 2235
      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: 1597
      functionLinenumberEnd: 1622
      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: 1381
      functionLinenumberEnd: 1593
      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:1400,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1401,3'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/ws/ops-ws.c:1404,7'
          Dst:             lws_write
        - Src:             'lib/roles/ws/ops-ws.c:1409,5'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/ops-ws.c:1410,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/ws/ops-ws.c:1412,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1417,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/ops-ws.c:1437,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/ws/ops-ws.c:1437,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1441,7'
          Dst:             lws_write
        - Src:             'lib/roles/ws/ops-ws.c:1461,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/ws/ops-ws.c:1461,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/ops-ws.c:1467,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: 112
      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:77,8'
          Dst:             lws_check_utf8
        - Src:             'lib/roles/ws/client-parser-ws.c:80,5'
          Dst:             lws_close_reason
    - functionName:    lws_ws_client_rx_sm
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/client-parser-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 845
      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:207,2'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/client-parser-ws.c:212,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/client-parser-ws.c:216,4'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/client-parser-ws.c:313,4'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/client-parser-ws.c:336,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/ws/client-parser-ws.c:536,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/ws/client-parser-ws.c:250,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:250,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:250,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:275,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:275,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:275,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:288,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:288,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:288,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:292,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:292,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:292,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:298,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:298,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:298,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:307,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:307,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:307,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:324,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:324,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:324,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:389,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:389,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:389,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:490,3'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/client-parser-ws.c:508,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:508,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:508,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:526,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:526,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:526,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:542,8'
          Dst:             lws_check_utf8
        - Src:             'lib/roles/ws/client-parser-ws.c:552,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:552,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:552,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:556,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:556,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:556,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:570,8'
          Dst:             user_callback_handle_rxflow
        - 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:583,4'
          Dst:             __lws_change_pollfd
        - Src:             'lib/roles/ws/client-parser-ws.c:584,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/ws/client-parser-ws.c:587,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/client-parser-ws.c:588,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/ws/client-parser-ws.c:593,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:593,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:593,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:605,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:605,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:605,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:611,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:611,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:611,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:624,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/ws/client-parser-ws.c:631,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:631,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:631,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:632,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:632,4'
          Dst:             lwsl_hexdump_level_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:632,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:635,4'
          Dst:             lws_validity_confirmed
        - Src:             'lib/roles/ws/client-parser-ws.c:647,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:647,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:647,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:677,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:677,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:677,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:705,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:705,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:705,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:727,9'
          Dst:             lws_check_utf8
        - Src:             'lib/roles/ws/client-parser-ws.c:730,6'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/client-parser-ws.c:744,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:744,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:744,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:745,6'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/client-parser-ws.c:749,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:749,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:749,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:750,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:750,6'
          Dst:             lwsl_hexdump_level_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:750,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:770,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:770,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:770,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:806,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:806,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:806,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:824,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:824,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:824,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:831,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:831,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:831,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/client-parser-ws.c:837,2'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/client-parser-ws.c:841,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:841,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/client-parser-ws.c:841,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: 116
      functionLinenumberEnd: 176
      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:127,10'
          Dst:             lws_ws_client_rx_sm
        - Src:             'lib/roles/ws/client-parser-ws.c:148,10'
          Dst:             _lws_ws_client_rx_payload_passthrough
        - Src:             'lib/roles/ws/client-parser-ws.c:166,5'
          Dst:             lws_close_reason
    - functionName:    lws_ws_frame_rest_is_payload
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/server-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 826
      functionLinenumberEnd: 1008
      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:895,2'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:966,7'
          Dst:             lws_check_utf8
        - Src:             'lib/roles/ws/server-ws.c:969,4'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/server-ws.c:971,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:972,4'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/ws/server-ws.c:980,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:981,4'
          Dst:             lws_close_reason
        - Src:             'lib/roles/ws/server-ws.c:984,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:985,4'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/ws/server-ws.c:992,7'
          Dst:             user_callback_handle_rxflow
    - functionName:    lws_parse_ws
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/server-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1013
      functionLinenumberEnd: 1122
      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:1018,2'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:1029,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:1040,8'
          Dst:             lws_rxflow_cache
        - Src:             'lib/roles/ws/server-ws.c:1048,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:1075,8'
          Dst:             lws_ws_frame_rest_is_payload
        - Src:             'lib/roles/ws/server-ws.c:1076,4'
          Dst:             __assert_fail
        - Src:             'lib/roles/ws/server-ws.c:1084,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:1092,9'
          Dst:             lws_ws_rx_sm
        - Src:             'lib/roles/ws/server-ws.c:1105,9'
          Dst:             lws_ws_rx_sm
        - Src:             'lib/roles/ws/server-ws.c:1110,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:1119,2'
          Dst:             _lws_log
    - functionName:    lws_process_ws_upgrade
      functionSourceFile: '/src/libwebsockets/lib/roles/ws/server-ws.c'
      linkageType:     InternalLinkage
      functionLinenumber: 453
      functionLinenumberEnd: 652
      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:613,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:549,6'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/ws/server-ws.c:551,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:568,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:574,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:576,3'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/ws/server-ws.c:598,11'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/ws/server-ws.c:601,5'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/ws/server-ws.c:612,7'
          Dst:             lws_tokenize
        - Src:             'lib/roles/ws/server-ws.c:616,8'
          Dst:             lws_tokenize_cstr
        - Src:             'lib/roles/ws/server-ws.c:617,5'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:621,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:622,11'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/ws/server-ws.c:625,5'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/ws/server-ws.c:635,4'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:644,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/ws/server-ws.c:644,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/ws/server-ws.c:644,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/ws/server-ws.c:651,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: 656
      functionLinenumberEnd: 815
      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:664,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/server-ws.c:665,7'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/server-ws.c:666,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:671,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/server-ws.c:673,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:683,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/server-ws.c:681,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/ws/server-ws.c:685,2'
          Dst:             lws_SHA1
        - Src:             'lib/roles/ws/server-ws.c:687,15'
          Dst:             lws_b64_encode_string
        - Src:             'lib/roles/ws/server-ws.c:690,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:695,6'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/ws/server-ws.c:705,2'
          Dst:             strcpy
        - Src:             'lib/roles/ws/server-ws.c:709,2'
          Dst:             strcpy
        - Src:             'lib/roles/ws/server-ws.c:714,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/server-ws.c:746,3'
          Dst:             strcpy
        - Src:             'lib/roles/ws/server-ws.c:747,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/ws/server-ws.c:750,8'
          Dst:             strcpy
        - Src:             'lib/roles/ws/server-ws.c:768,6'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/ws/server-ws.c:777,2'
          Dst:             strcpy
        - Src:             'lib/roles/ws/server-ws.c:781,2'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:786,6'
          Dst:             lws_write
        - Src:             'lib/roles/ws/server-ws.c:789,3'
          Dst:             _lws_log
        - Src:             'lib/roles/ws/server-ws.c:795,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/ws/server-ws.c:800,4'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/ws/server-ws.c:801,17'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/ws/server-ws.c:803,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: 61
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          102
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - lws_role_transition
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/raw-file/ops-raw-file.c:67,2'
          Dst:             lws_role_transition
    - functionName:    rops_handle_POLLIN_raw_file
      functionSourceFile: '/src/libwebsockets/lib/roles/raw-file/ops-raw-file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          132
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - _lws_log_cx
        - lws_callback_as_writeable
        - lws_change_pollfd
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
        - user_callback_handle_rxflow
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/raw-file/ops-raw-file.c:34,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/raw-file/ops-raw-file.c:35,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/raw-file/ops-raw-file.c:35,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/raw-file/ops-raw-file.c:35,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/raw-file/ops-raw-file.c:38,7'
          Dst:             lws_callback_as_writeable
        - Src:             'lib/roles/raw-file/ops-raw-file.c:44,7'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/raw-file/ops-raw-file.c:47,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/raw-file/ops-raw-file.c:47,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/raw-file/ops-raw-file.c:47,4'
          Dst:             lws_log_prepend_wsi
    - functionName:    lws_accept_pause_cb
      functionSourceFile: '/src/libwebsockets/lib/roles/listen/ops-listen.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 34
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _lws_log_cx
        - lws_change_pollfd
        - lws_log_prepend_wsi
        - lwsl_wsi_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/listen/ops-listen.c:32,6'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/listen/ops-listen.c:33,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/listen/ops-listen.c:33,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/listen/ops-listen.c:33,3'
          Dst:             lws_log_prepend_wsi
    - functionName:    rops_handle_POLLIN_listen
      functionSourceFile: '/src/libwebsockets/lib/roles/listen/ops-listen.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         58
      ICount:          404
      EdgeCount:       79
      CyclomaticComplexity: 23
      functionsReached:
        - __errno_location
        - _lws_log
        - _lws_log_cx
        - accept
        - close
        - lws_accept_pause_cb
        - lws_adopt_descriptor_vhost
        - lws_change_pollfd
        - lws_log_prepend_wsi
        - lws_plat_set_socket_options
        - lws_poll_listen_fd
        - lws_sul_schedule
        - lwsl_wsi_get_cx
        - ntohs
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/listen/ops-listen.c:101,20'
          Dst:             accept
        - Src:             'lib/roles/listen/ops-listen.c:113,12'
          Dst:             __errno_location
        - Src:             'lib/roles/listen/ops-listen.c:119,4'
          Dst:             _lws_log
        - Src:             'lib/roles/listen/ops-listen.c:132,9'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/listen/ops-listen.c:133,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/listen/ops-listen.c:133,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/listen/ops-listen.c:133,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/listen/ops-listen.c:135,5'
          Dst:             lws_sul_schedule
        - Src:             'lib/roles/listen/ops-listen.c:135,5'
          Dst:             lws_accept_pause_cb
        - Src:             'lib/roles/listen/ops-listen.c:145,4'
          Dst:             close
        - Src:             'lib/roles/listen/ops-listen.c:150,3'
          Dst:             lws_plat_set_socket_options
        - Src:             'lib/roles/listen/ops-listen.c:153,3'
          Dst:             ntohs
        - Src:             'lib/roles/listen/ops-listen.c:153,3'
          Dst:             ntohs
        - Src:             'lib/roles/listen/ops-listen.c:153,3'
          Dst:             _lws_log
        - Src:             'lib/roles/listen/ops-listen.c:179,4'
          Dst:             _lws_log
        - Src:             'lib/roles/listen/ops-listen.c:180,4'
          Dst:             close
        - Src:             'lib/roles/listen/ops-listen.c:198,10'
          Dst:             lws_adopt_descriptor_vhost
        - Src:             'lib/roles/listen/ops-listen.c:209,4'
          Dst:             _lws_log
        - Src:             'lib/roles/listen/ops-listen.c:229,4'
          Dst:             lws_poll_listen_fd
    - functionName:    accept
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rops_handle_POLLOUT_listen
      functionSourceFile: '/src/libwebsockets/lib/roles/listen/ops-listen.c'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_http_client_read
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2238
      functionLinenumberEnd: 2488
      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:2310,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:2254,13'
          Dst:             lws_buflist_aware_read
        - Src:             'lib/roles/http/client/client-http.c:2267,6'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/http/client/client-http.c:2271,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2272,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2278,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2285,8'
          Dst:             lws_http_transaction_completed_client
        - Src:             'lib/roles/http/client/client-http.c:2316,8'
          Dst:             char_to_hex
        - Src:             'lib/roles/http/client/client-http.c:2318,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2322,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2330,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2348,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2349,5'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/http/client/client-http.c:2359,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2370,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2371,5'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/http/client/client-http.c:2381,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2382,5'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/roles/http/client/client-http.c:2391,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2429,8'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/http/client/client-http.c:2433,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2439,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2476,6'
          Dst:             lws_http_transaction_completed_client
        - Src:             'lib/roles/http/client/client-http.c:2477,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2483,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: 522
      functionLinenumberEnd: 590
      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:526,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:526,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:533,6'
          Dst:             user_callback_handle_rxflow
        - Src:             'lib/roles/http/client/client-http.c:536,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:548,6'
          Dst:             _lws_generic_transaction_completed_active_conn
        - Src:             'lib/roles/http/client/client-http.c:558,4'
          Dst:             __lws_header_table_detach
        - Src:             'lib/roles/http/client/client-http.c:561,5'
          Dst:             _lws_header_table_reset
        - Src:             'lib/roles/http/client/client-http.c:573,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:579,2'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:584,2'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:586,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:586,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:587,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: 2230
      functionLinenumberEnd: 2231
      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:2231,44'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:2231,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: 2207
      functionLinenumberEnd: 2227
      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:2208,13'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:2216,20'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2223,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: 1910
      functionLinenumberEnd: 2007
      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:1916,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:1913,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/client/client-http.c:1927,11'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1932,23'
          Dst:             strchr
        - Src:             'lib/roles/http/client/client-http.c:1938,10'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1943,11'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1947,16'
          Dst:             open
        - Src:             'lib/roles/http/client/client-http.c:1949,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1952,9'
          Dst:             fstat
        - Src:             'lib/roles/http/client/client-http.c:1953,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1964,10'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1976,8'
          Dst:             read
        - Src:             'lib/roles/http/client/client-http.c:1978,5'
          Dst:             close
        - Src:             'lib/roles/http/client/client-http.c:1979,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1990,5'
          Dst:             close
        - Src:             'lib/roles/http/client/client-http.c:1999,10'
          Dst:             lws_snprintf
    - functionName:    lws_http_mp_sm_destroy
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1901
      functionLinenumberEnd: 1906
      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:1903,3'
          Dst:             lws_realloc
    - functionName:    lws_http_mp_sm_init
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1803
      functionLinenumberEnd: 1897
      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:1810,9'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/client/client-http.c:1814,13'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/client/client-http.c:1818,2'
          Dst:             lws_hex_random
        - Src:             'lib/roles/http/client/client-http.c:1821,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1822,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/client/client-http.c:1824,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1840,16'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/client/client-http.c:1845,16'
          Dst:             strchr
        - Src:             'lib/roles/http/client/client-http.c:1851,22'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:1853,24'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1857,8'
          Dst:             stat
        - Src:             'lib/roles/http/client/client-http.c:1858,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1868,23'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1871,10'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:1875,21'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:1879,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: 1706
      functionLinenumberEnd: 1740
      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:1711,2'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/client/client-http.c:1714,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1722,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1725,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1730,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1734,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1737,8'
          Dst:             lws_snprintf
    - functionName:    lws_http_multipart_headers
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1677
      functionLinenumberEnd: 1700
      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:1681,6'
          Dst:             lws_get_random
        - Src:             'lib/roles/http/client/client-http.c:1685,2'
          Dst:             lws_b64_encode_string
        - Src:             'lib/roles/http/client/client-http.c:1689,6'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:1692,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/client/client-http.c:1697,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_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_http_is_redirected_to_get
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1041
      functionLinenumberEnd: 1042
      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: 2512
      functionLinenumberEnd: 2648
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         50
      ICount:          411
      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:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:2528,2'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:2528,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2532,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2551,18'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:2554,19'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:2565,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2583,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2597,7'
          Dst:             lws_client_stash_create
        - Src:             'lib/roles/http/client/client-http.c:2607,2'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/roles/http/client/client-http.c:2624,2'
          Dst:             __lws_reset_wsi
    - functionName:    lws_http_digest_auth
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 625
      functionLinenumberEnd: 1034
      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:679,3'
          Branch Sides:    []
        - Branch String:   'lib/roles/http/client/client-http.c:725,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:639,2'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/client/client-http.c:642,7'
          Dst:             lws_hdr_total_length
        - 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:654,6'
          Dst:             lws_hdr_copy
        - Src:             'lib/roles/http/client/client-http.c:656,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:656,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:656,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:673,2'
          Dst:             lws_tokenize_init
        - Src:             'lib/roles/http/client/client-http.c:678,7'
          Dst:             lws_tokenize
        - Src:             'lib/roles/http/client/client-http.c:684,9'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/client/client-http.c:701,10'
          Dst:             strncmp
        - Src:             'lib/roles/http/client/client-http.c:705,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:705,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:705,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:730,5'
          Dst:             strncpy
        - Src:             'lib/roles/http/client/client-http.c:736,5'
          Dst:             strncpy
        - Src:             'lib/roles/http/client/client-http.c:743,5'
          Dst:             strncpy
        - Src:             'lib/roles/http/client/client-http.c:750,6'
          Dst:             lws_genhash_size
        - Src:             'lib/roles/http/client/client-http.c:753,9'
          Dst:             lws_hex_len_to_byte_array
        - Src:             'lib/roles/http/client/client-http.c:764,5'
          Dst:             strncpy
        - Src:             'lib/roles/http/client/client-http.c:769,12'
          Dst:             strncmp
        - Src:             'lib/roles/http/client/client-http.c:770,8'
          Dst:             strcpy
        - Src:             'lib/roles/http/client/client-http.c:773,19'
          Dst:             strchr
        - Src:             'lib/roles/http/client/client-http.c:784,31'
          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:790,38'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/client/client-http.c:792,6'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/client/client-http.c:793,38'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/client/client-http.c:795,6'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/client/client-http.c:797,6'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:797,6'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:797,6'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:824,5'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:824,5'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:824,5'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:833,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:833,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:833,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:841,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:841,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:841,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:861,35'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:862,4'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:862,23'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:863,4'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:865,16'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/client/client-http.c:869,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:872,7'
          Dst:             lws_genhash_init
        - Src:             'lib/roles/http/client/client-http.c:873,5'
          Dst:             lws_genhash_update
        - Src:             'lib/roles/http/client/client-http.c:876,5'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:877,4'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:883,6'
          Dst:             lws_genhash_size
        - Src:             'lib/roles/http/client/client-http.c:882,3'
          Dst:             lws_hex_from_byte_array
        - Src:             'lib/roles/http/client/client-http.c:885,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:892,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:896,7'
          Dst:             lws_genhash_init
        - Src:             'lib/roles/http/client/client-http.c:897,10'
          Dst:             lws_genhash_update
        - Src:             'lib/roles/http/client/client-http.c:900,10'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:901,4'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:902,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:907,6'
          Dst:             lws_genhash_size
        - Src:             'lib/roles/http/client/client-http.c:906,3'
          Dst:             lws_hex_from_byte_array
        - Src:             'lib/roles/http/client/client-http.c:909,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:912,18'
          Dst:             lws_get_context
        - Src:             'lib/roles/http/client/client-http.c:912,3'
          Dst:             lws_hex_random
        - Src:             'lib/roles/http/client/client-http.c:913,3'
          Dst:             lws_hex_from_byte_array
        - Src:             'lib/roles/http/client/client-http.c:917,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:920,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:923,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:923,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:923,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:926,7'
          Dst:             lws_genhash_init
        - Src:             'lib/roles/http/client/client-http.c:927,5'
          Dst:             lws_genhash_update
        - Src:             'lib/roles/http/client/client-http.c:928,5'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:929,4'
          Dst:             lws_genhash_destroy
        - Src:             'lib/roles/http/client/client-http.c:930,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:930,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:930,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:935,6'
          Dst:             lws_genhash_size
        - Src:             'lib/roles/http/client/client-http.c:937,6'
          Dst:             lws_genhash_size
        - Src:             'lib/roles/http/client/client-http.c:934,3'
          Dst:             lws_hex_from_byte_array
        - Src:             'lib/roles/http/client/client-http.c:940,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:948,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:958,3'
          Dst:             lwsl_hexdump
        - Src:             'lib/roles/http/client/client-http.c:960,7'
          Dst:             lws_hdr_simple_create
        - Src:             'lib/roles/http/client/client-http.c:962,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:962,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:962,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:966,10'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/http/client/client-http.c:981,24'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:982,24'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:983,23'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:988,5'
          Dst:             lws_tokenize_init
        - Src:             'lib/roles/http/client/client-http.c:990,21'
          Dst:             lws_tokenize
        - Src:             'lib/roles/http/client/client-http.c:993,11'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/client/client-http.c:1002,19'
          Dst:             strncasecmp
        - Src:             'lib/roles/http/client/client-http.c:1003,17'
          Dst:             atoi
        - Src:             'lib/roles/http/client/client-http.c:1015,8'
          Dst:             lws_client_reset
        - Src:             'lib/roles/http/client/client-http.c:1016,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:1016,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:1016,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:1031,2'
          Dst:             lws_realloc
    - functionName:    lws_http_client_http_response
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 594
      functionLinenumberEnd: 599
      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: 1047
      functionLinenumberEnd: 1668
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         235
      ICount:          1723
      EdgeCount:       321
      CyclomaticComplexity: 88
      functionsReached:
        - _lws_dll2_safe_next
        - _lws_header_table_reset
        - _lws_log
        - _lws_log_cx
        - atoi
        - atoll
        - lws_callback_on_writable
        - lws_client_alt_svc_learn
        - lws_client_reset
        - lws_client_stash_create
        - lws_client_ws_upgrade
        - lws_close_free_wsi
        - lws_conmon_ss_json
        - lws_dll2_get_head
        - 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:1635,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/client/client-http.c:1052,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/http/client/client-http.c:1062,7'
          Dst:             lws_now_usecs
        - Src:             'lib/roles/http/client/client-http.c:1077,3'
          Dst:             lws_client_alt_svc_learn
        - Src:             'lib/roles/http/client/client-http.c:1091,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:1091,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1093,4'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/client/client-http.c:1100,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:1100,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1102,4'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/client/client-http.c:1118,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1119,3'
          Dst:             lws_parse_set_cookie
        - Src:             'lib/roles/http/client/client-http.c:1137,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1146,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1151,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1156,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1159,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1171,6'
          Dst:             atoi
        - Src:             'lib/roles/http/client/client-http.c:1174,18'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1177,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1182,48'
          Dst:             lws_http_digest_auth
        - Src:             'lib/roles/http/client/client-http.c:1204,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/client-http.c:1204,4'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/client-http.c:1204,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/client-http.c:1206,4'
          Dst:             _lws_header_table_reset
        - Src:             'lib/roles/http/client/client-http.c:1212,10'
          Dst:             lws_hdr_simple_create
        - Src:             'lib/roles/http/client/client-http.c:1217,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:1218,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/client/client-http.c:1226,3'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/http/client/client-http.c:1242,7'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1261,44'
          Dst:             lws_get_opaque_user_data
        - Src:             'lib/roles/http/client/client-http.c:1264,5'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/roles/http/client/client-http.c:1279,31'
          Dst:             strchr
        - Src:             'lib/roles/http/client/client-http.c:1283,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1292,20'
          Dst:             strchr
        - Src:             'lib/roles/http/client/client-http.c:1293,11'
          Dst:             lws_parse_uri_create
        - Src:             'lib/roles/http/client/client-http.c:1303,9'
          Dst:             strcmp
        - Src:             'lib/roles/http/client/client-http.c:1303,33'
          Dst:             strcmp
        - Src:             'lib/roles/http/client/client-http.c:1313,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1318,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1319,27'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1319,5'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/client/client-http.c:1325,16'
          Dst:             strrchr
        - Src:             'lib/roles/http/client/client-http.c:1327,5'
          Dst:             lws_strncpy
        - Src:             'lib/roles/http/client/client-http.c:1342,15'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1343,13'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1344,28'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:1347,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1356,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1357,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1362,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1380,9'
          Dst:             lws_client_stash_create
        - Src:             'lib/roles/http/client/client-http.c:1381,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1382,6'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/client/client-http.c:1386,5'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/client/client-http.c:1406,8'
          Dst:             lws_client_reset
        - Src:             'lib/roles/http/client/client-http.c:1407,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1421,3'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/http/client/client-http.c:1425,4'
          Dst:             lws_parse_uri_destroy
        - Src:             'lib/roles/http/client/client-http.c:1454,4'
          Dst:             lws_dll2_get_head
        - Src:             'lib/roles/http/client/client-http.c:1462,5'
          Dst:             lws_dll2_remove
        - Src:             'lib/roles/http/client/client-http.c:1467,5'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/client/client-http.c:1454,4'
          Dst:             _lws_dll2_safe_next
        - Src:             'lib/roles/http/client/client-http.c:1501,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1502,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1507,8'
          Dst:             strcasecmp
        - Src:             'lib/roles/http/client/client-http.c:1510,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1519,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1520,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1527,23'
          Dst:             atoll
        - Src:             'lib/roles/http/client/client-http.c:1532,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1541,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1559,7'
          Dst:             lws_ensure_user_space
        - Src:             'lib/roles/http/client/client-http.c:1560,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1581,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:1596,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:1596,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1607,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:1610,12'
          Dst:             lws_http_client_http_response
        - Src:             'lib/roles/http/client/client-http.c:1611,6'
          Dst:             lws_hdr_total_length
        - Src:             'lib/roles/http/client/client-http.c:1613,15'
          Dst:             strcmp
        - Src:             'lib/roles/http/client/client-http.c:1614,14'
          Dst:             lws_http_transaction_completed_client
        - Src:             'lib/roles/http/client/client-http.c:1635,10'
          Dst:             lws_client_ws_upgrade
        - Src:             'lib/roles/http/client/client-http.c:1652,13'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:1654,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/roles/http/client/client-http.c:1657,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:1662,2'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/http/client/client-http.c:1665,3'
          Dst:             lws_parse_uri_destroy
    - functionName:    lws_generate_client_handshake
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/client-http.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2012
      functionLinenumberEnd: 2199
      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:2013,26'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:2017,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:2029,7'
          Dst:             strcmp
        - Src:             'lib/roles/http/client/client-http.c:2030,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:2031,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2036,9'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/roles/http/client/client-http.c:2039,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:2044,4'
          Dst:             lws_bind_protocol
        - Src:             'lib/roles/http/client/client-http.c:2051,3'
          Dst:             lws_role_transition
        - Src:             'lib/roles/http/client/client-http.c:2053,3'
          Dst:             lws_header_table_detach
        - Src:             'lib/roles/http/client/client-http.c:2071,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/client/client-http.c:2080,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2084,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2088,21'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/roles/http/client/client-http.c:2090,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2093,23'
          Dst:             lws_wsi_client_stash_item
        - Src:             'lib/roles/http/client/client-http.c:2097,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2100,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2108,16'
          Dst:             lws_http_multipart_headers
        - Src:             'lib/roles/http/client/client-http.c:2144,14'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2146,9'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/client/client-http.c:2156,7'
          Dst:             lws_generate_client_ws_handshake
        - Src:             'lib/roles/http/client/client-http.c:2164,9'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2171,3'
          Dst:             lws_cookie_send_cookies
        - Src:             'lib/roles/http/client/client-http.c:2181,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2182,8'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2183,3'
          Dst:             lws_client_http_body_pending
        - Src:             'lib/roles/http/client/client-http.c:2186,7'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:2188,39'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/client/client-http.c:2189,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/client/client-http.c:2193,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: 516
      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:301,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:81,8'
          Dst:             lws_client_connect_3_connect
        - Src:             'lib/roles/http/client/client-http.c:82,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:114,4'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:114,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:121,12'
          Dst:             recv
        - Src:             'lib/roles/http/client/client-http.c:123,8'
          Dst:             __errno_location
        - Src:             'lib/roles/http/client/client-http.c:124,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:127,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:135,17'
          Dst:             strncmp
        - Src:             'lib/roles/http/client/client-http.c:143,7'
          Dst:             atoi
        - Src:             'lib/roles/http/client/client-http.c:145,4'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/client-http.c:151,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:155,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:177,7'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/http/client/client-http.c:199,7'
          Dst:             lws_client_create_tls
        - Src:             'lib/roles/http/client/client-http.c:219,8'
          Dst:             lws_ssl_client_connect2
        - Src:             'lib/roles/http/client/client-http.c:229,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:230,5'
          Dst:             lws_role_call_alpn_negotiated
        - Src:             'lib/roles/http/client/client-http.c:248,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:256,9'
          Dst:             lws_h2_issue_preface
        - Src:             'lib/roles/http/client/client-http.c:262,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:277,7'
          Dst:             lws_generate_client_handshake
        - Src:             'lib/roles/http/client/client-http.c:287,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:288,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/http/client/client-http.c:295,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:295,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:300,7'
          Dst:             lws_ssl_capable_write
        - Src:             'lib/roles/http/client/client-http.c:303,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:304,4'
          Dst:             lws_close_free_wsi
        - Src:             'lib/roles/http/client/client-http.c:309,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/client/client-http.c:313,40'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/client/client-http.c:314,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:315,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:316,4'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:321,5'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/client/client-http.c:331,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:335,4'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:346,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:349,3'
          Dst:             lws_callback_on_writable
        - Src:             'lib/roles/http/client/client-http.c:359,40'
          Dst:             lws_has_buffered_out
        - Src:             'lib/roles/http/client/client-http.c:373,3'
          Dst:             lwsi_set_state
        - Src:             'lib/roles/http/client/client-http.c:374,3'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:386,8'
          Dst:             lws_buflist_total_len
        - Src:             'lib/roles/http/client/client-http.c:387,5'
          Dst:             lws_set_timeout
        - Src:             'lib/roles/http/client/client-http.c:389,5'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:389,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:397,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/roles/http/client/client-http.c:428,15'
          Dst:             lws_buflist_aware_read
        - Src:             'lib/roles/http/client/client-http.c:429,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:441,8'
          Dst:             lws_parse
        - Src:             'lib/roles/http/client/client-http.c:442,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:463,8'
          Dst:             lws_buflist_aware_finished_consuming
        - Src:             'lib/roles/http/client/client-http.c:476,5'
          Dst:             __assert_fail
        - Src:             'lib/roles/http/client/client-http.c:497,10'
          Dst:             lws_client_interpret_server_handshake
        - Src:             'lib/roles/http/client/client-http.c:500,3'
          Dst:             lws_wsi_tag
        - Src:             'lib/roles/http/client/client-http.c:500,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:503,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/client/client-http.c:506,49'
          Dst:             strlen
        - Src:             'lib/roles/http/client/client-http.c:506,3'
          Dst:             lws_inform_client_conn_fail
        - Src:             'lib/roles/http/client/client-http.c:508,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_client_alt_svc_forget
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/altsvc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 341
      functionLinenumberEnd: 356
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          101
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - lws_cache_item_remove
        - lws_snprintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/client/altsvc.c:354,2'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/altsvc.c:355,2'
          Dst:             lws_cache_item_remove
    - functionName:    lws_client_alt_svc_learn
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/altsvc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 331
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         36
      ICount:          285
      EdgeCount:       50
      CyclomaticComplexity: 16
      functionsReached:
        - _lws_log_cx
        - lws_cache_item_remove
        - lws_cache_write_through
        - lws_client_alt_svc_parse
        - lws_get_network_wsi
        - lws_hdr_custom_copy
        - lws_log_prepend_wsi
        - lws_now_usecs
        - lws_snprintf
        - lwsl_wsi_get_cx
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/client/altsvc.c:250,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/http/client/altsvc.c:268,6'
          Dst:             lws_hdr_custom_copy
        - Src:             'lib/roles/http/client/altsvc.c:275,7'
          Dst:             lws_client_alt_svc_parse
        - Src:             'lib/roles/http/client/altsvc.c:279,21'
          Dst:             strcmp
        - Src:             'lib/roles/http/client/altsvc.c:284,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/altsvc.c:284,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/altsvc.c:284,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/altsvc.c:294,2'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/client/altsvc.c:298,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/altsvc.c:298,3'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/altsvc.c:298,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/altsvc.c:299,3'
          Dst:             lws_cache_item_remove
        - Src:             'lib/roles/http/client/altsvc.c:303,11'
          Dst:             lws_now_usecs
        - Src:             'lib/roles/http/client/altsvc.c:308,2'
          Dst:             lws_cache_write_through
        - Src:             'lib/roles/http/client/altsvc.c:311,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/roles/http/client/altsvc.c:311,2'
          Dst:             _lws_log_cx
        - Src:             'lib/roles/http/client/altsvc.c:311,2'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/roles/http/client/altsvc.c:323,3'
          Dst:             lws_cache_write_through
    - functionName:    lws_client_alt_svc_parse
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/altsvc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 227
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          239
      EdgeCount:       59
      CyclomaticComplexity: 15
      functionsReached:
        - alt_svc_parse_authority
        - alt_svc_parse_u32
        - alt_svc_token_eq
        - lws_tokenize
      functionUses:    1
      BranchProfiles:
        - Branch String:   'lib/roles/http/client/altsvc.c:169,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/client/altsvc.c:168,18'
          Dst:             lws_tokenize
        - Src:             'lib/roles/http/client/altsvc.c:177,8'
          Dst:             alt_svc_token_eq
        - Src:             'lib/roles/http/client/altsvc.c:182,16'
          Dst:             alt_svc_token_eq
        - Src:             'lib/roles/http/client/altsvc.c:192,9'
          Dst:             alt_svc_parse_authority
        - Src:             'lib/roles/http/client/altsvc.c:209,10'
          Dst:             alt_svc_parse_u32
    - functionName:    alt_svc_token_eq
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/altsvc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          116
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alt_svc_parse_authority
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/altsvc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          197
      EdgeCount:       46
      CyclomaticComplexity: 13
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alt_svc_parse_u32
      functionSourceFile: '/src/libwebsockets/lib/roles/http/client/altsvc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          93
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      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:    lws_dll2_count
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - 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:          1428
      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_dll2_count
        - 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_dll2_count
        - 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:480,14'
          Dst:             lws_dll2_count
        - Src:             'lib/roles/netlink/ops-netlink.c:481,4'
          Dst:             _lws_route_remove
        - Src:             'lib/roles/netlink/ops-netlink.c:482,15'
          Dst:             lws_dll2_count
        - 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:529,6'
          Dst:             lws_dll2_count
        - 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:    3
      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:         16
      ICount:          111
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_dll2_safe_next
        - _lws_log_cx
        - lws_dll2_count
        - lws_dll2_get_head
        - 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_dll2_count
        - 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:2220,2'
          Dst:             lws_dll2_get_head
        - 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
        - Src:             'lib/secure-streams/secure-streams.c:2220,2'
          Dst:             _lws_dll2_safe_next
    - functionName:    lws_dll2_count
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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:    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:         18
      ICount:          110
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - _lws_dll2_safe_next
        - lws_dll2_get_head
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:2195,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/secure-streams/secure-streams.c:2195,2'
          Dst:             _lws_dll2_safe_next
        - 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:    43
      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:    37
      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:    10
      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:         16
      ICount:          100
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - _lws_dll2_safe_next
        - lws_dll2_get_head
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/secure-streams/secure-streams.c:1852,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/secure-streams/secure-streams.c:1852,2'
          Dst:             _lws_dll2_safe_next
    - 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_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:          1297
      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_count
        - 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:1291,12'
          Dst:             lws_dll2_count
        - 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:    lws_dll2_get_next
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 349
      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_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_vhost_next
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 931
      functionLinenumberEnd: 934
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_next
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:932,23'
          Dst:             lws_dll2_get_next
    - functionName:    lws_vhost_first
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 923
      functionLinenumberEnd: 926
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:924,23'
          Dst:             lws_dll2_get_head
    - 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:          274
      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
        - lws_vhost_first
        - lws_vhost_next
        - 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:490,7'
          Dst:             lws_vhost_first
        - Src:             'lib/secure-streams/policy-common.c:493,28'
          Dst:             lws_vhost_next
        - 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:499,8'
          Dst:             lws_vhost_next
        - 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: 1270
      functionLinenumberEnd: 1319
      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:1307,2'
          Dst:             lws_strexp_init
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1307,2'
          Dst:             lws_ss_exp_cb_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1309,38'
          Dst:             strlen
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1309,6'
          Dst:             lws_strexp_expand
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1316,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: 1249
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         393
      ICount:          2716
      EdgeCount:       541
      CyclomaticComplexity: 150
      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:582,8'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:584,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:586,8'
          Dst:             lws_ss_backoff
        - Src:             'lib/secure-streams/protocols/ss-h1.c:588,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:597,3'
          Dst:             lws_ss_assert_extant
        - Src:             'lib/secure-streams/protocols/ss-h1.c:605,11'
          Dst:             lws_http_client_http_response
        - Src:             'lib/secure-streams/protocols/ss-h1.c:608,3'
          Dst:             lws_conmon_ss_json
        - Src:             'lib/secure-streams/protocols/ss-h1.c:611,17'
          Dst:             lws_http_client_http_response
        - Src:             'lib/secure-streams/protocols/ss-h1.c:612,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:634,4'
          Dst:             lws_http_check_retry_after
        - Src:             'lib/secure-streams/protocols/ss-h1.c:636,8'
          Dst:             _lws_ss_backoff
        - Src:             'lib/secure-streams/protocols/ss-h1.c:638,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:650,7'
          Dst:             lws_extract_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:651,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:664,12'
          Dst:             lws_ss_http_resp_to_state
        - Src:             'lib/secure-streams/protocols/ss-h1.c:666,9'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:668,13'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:674,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:677,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:684,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/protocols/ss-h1.c:694,9'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:696,13'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:702,9'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:704,13'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:712,3'
          Dst:             lws_validity_confirmed
        - Src:             'lib/secure-streams/protocols/ss-h1.c:724,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/secure-streams/protocols/ss-h1.c:729,9'
          Dst:             strncmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:730,9'
          Dst:             strncmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:738,13'
          Dst:             strlen
        - Src:             'lib/secure-streams/protocols/ss-h1.c:745,9'
          Dst:             lws_tokenize
        - Src:             'lib/secure-streams/protocols/ss-h1.c:747,10'
          Dst:             strncmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:749,10'
          Dst:             lws_tokenize
        - Src:             'lib/secure-streams/protocols/ss-h1.c:756,6'
          Dst:             lws_strncpy
        - Src:             'lib/secure-streams/protocols/ss-h1.c:765,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:779,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:816,9'
          Dst:             lws_snprintf
        - Src:             'lib/secure-streams/protocols/ss-h1.c:822,9'
          Dst:             lws_system_get_blob
        - Src:             'lib/secure-streams/protocols/ss-h1.c:827,8'
          Dst:             lws_system_blob_get
        - Src:             'lib/secure-streams/protocols/ss-h1.c:832,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:834,8'
          Dst:             lws_add_http_header_by_name
        - Src:             'lib/secure-streams/protocols/ss-h1.c:844,7'
          Dst:             lws_apply_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:880,6'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:881,6'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:883,6'
          Dst:             strcmp
        - Src:             'lib/secure-streams/protocols/ss-h1.c:887,9'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:889,13'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:898,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:906,11'
          Dst:             ss_http_multipart_parser
        - Src:             'lib/secure-streams/protocols/ss-h1.c:922,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:932,8'
          Dst:             lws_http_client_read
        - Src:             'lib/secure-streams/protocols/ss-h1.c:937,4'
          Dst:             lws_set_timeout
        - Src:             'lib/secure-streams/protocols/ss-h1.c:954,3'
          Dst:             lws_sul_cancel
        - Src:             'lib/secure-streams/protocols/ss-h1.c:965,8'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:967,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:972,8'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:976,12'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:978,22'
          Dst:             lws_get_context
        - Src:             'lib/secure-streams/protocols/ss-h1.c:978,3'
          Dst:             lws_cancel_service
        - Src:             'lib/secure-streams/protocols/ss-h1.c:985,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:997,8'
          Dst:             lws_add_http_common_headers
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1012,8'
          Dst:             lws_apply_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1015,8'
          Dst:             lws_finalize_write_http_header
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1019,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1039,4'
          Dst:             lws_client_http_multipart
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1055,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1069,5'
          Dst:             lws_client_http_body_pending
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1072,6'
          Dst:             lws_client_http_multipart
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1077,20'
          Dst:             lws_ss_policy_lookup
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1079,5'
          Dst:             lws_callback_on_writable
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1091,4'
          Dst:             lws_callback_on_writable
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1094,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1097,7'
          Dst:             lws_write
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1101,4'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1108,8'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1124,3'
          Dst:             _lws_log
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1132,8'
          Dst:             lws_hdr_total_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1135,11'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1134,9'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1138,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1140,11'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1139,14'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1146,9'
          Dst:             lws_hdr_total_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1149,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1148,10'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1152,10'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1154,10'
          Dst:             lws_hdr_fragment_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1156,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1155,15'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1160,10'
          Dst:             lws_hdr_total_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1163,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1162,11'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1166,11'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1168,11'
          Dst:             lws_hdr_fragment_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1170,8'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1169,16'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1175,11'
          Dst:             lws_hdr_total_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1178,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1177,12'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1181,12'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1183,12'
          Dst:             lws_hdr_fragment_length
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1185,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1184,17'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1204,9'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1206,13'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1222,14'
          Dst:             lws_get_urlarg_by_name_safe
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1226,11'
          Dst:             lws_ss_alloc_set_metadata
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1236,7'
          Dst:             lws_ss_event_helper
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1238,11'
          Dst:             _lws_ss_handle_state_ret_CAN_DESTROY_HANDLE
        - Src:             'lib/secure-streams/protocols/ss-h1.c:1248,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: 268
      functionLinenumberEnd: 279
      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:    10
      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:    2
      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:    2
      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_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_plat_context_late_destroy
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 264
      functionLinenumberEnd: 282
      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:271,3'
          Dst:             lws_realloc
        - Src:             'lib/plat/unix/unix-init.c:274,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-init.c:276,3'
          Dst:             close
    - functionName:    lws_plat_context_early_destroy
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 259
      functionLinenumberEnd: 260
      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: 249
      functionLinenumberEnd: 254
      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:251,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:         29
      ICount:          190
      EdgeCount:       37
      CyclomaticComplexity: 10
      functionsReached:
        - __lws_sul_insert
        - _lws_dll2_safe_next
        - _lws_log
        - _lws_vhost_init_server
        - getpid
        - kill
        - lws_dll2_get_head
        - lws_dll2_remove
        - 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:65,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/plat/unix/unix-init.c:69,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-init.c:70,7'
          Dst:             _lws_vhost_init_server
        - Src:             'lib/plat/unix/unix-init.c:72,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-init.c:73,4'
          Dst:             lws_dll2_remove
        - Src:             'lib/plat/unix/unix-init.c:65,2'
          Dst:             _lws_dll2_safe_next
        - 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:    lws_plat_init
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-init.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          160
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - __lws_sul_insert
        - _lws_log
        - _lws_log_cx
        - getenv
        - lws_log_prepend_context
        - lws_now_usecs
        - lws_open
        - lws_zalloc
        - lwsl_context_get_cx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-init.c:130,24'
          Dst:             lws_zalloc
        - Src:             'lib/plat/unix/unix-init.c:134,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-init.c:134,3'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-init.c:134,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-init.c:173,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/plat/unix/unix-init.c:173,2'
          Dst:             _lws_log_cx
        - Src:             'lib/plat/unix/unix-init.c:173,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/plat/unix/unix-init.c:177,7'
          Dst:             lws_open
        - Src:             'lib/plat/unix/unix-init.c:183,3'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-init.c:183,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-init.c:191,19'
          Dst:             getenv
        - Src:             'lib/plat/unix/unix-init.c:240,2'
          Dst:             lws_now_usecs
        - Src:             'lib/plat/unix/unix-init.c:240,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:    3
      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:    6
      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: 285
      functionLinenumberEnd: 286
      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:286,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: 281
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         58
      ICount:          430
      EdgeCount:       78
      CyclomaticComplexity: 22
      functionsReached:
        - __lws_change_pollfd
        - __lws_sul_service_ripe
        - _lws_plat_service_forced_tsi
        - lws_context_destroy
        - lws_dll2_get_head
        - lws_dll2_get_next
        - lws_dll2_remove
        - lws_now_usecs
        - lws_realloc
        - lws_service_adjust_timeout
        - lws_service_do_ripe_rxflow
        - lws_vhost_first
        - poll
        - wsi_from_fd
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-service.c:102,9'
          Dst:             lws_now_usecs
        - Src:             'lib/plat/unix/unix-service.c:117,35'
          Dst:             lws_dll2_get_head
        - Src:             'lib/plat/unix/unix-service.c:122,21'
          Dst:             lws_vhost_first
        - Src:             'lib/plat/unix/unix-service.c:125,6'
          Dst:             lws_vhost_first
        - Src:             'lib/plat/unix/unix-service.c:134,7'
          Dst:             __lws_sul_service_ripe
        - Src:             'lib/plat/unix/unix-service.c:149,7'
          Dst:             lws_service_adjust_timeout
        - Src:             'lib/plat/unix/unix-service.c:166,6'
          Dst:             poll
        - Src:             'lib/plat/unix/unix-service.c:225,24'
          Dst:             lws_dll2_get_next
        - Src:             'lib/plat/unix/unix-service.c:229,10'
          Dst:             wsi_from_fd
        - Src:             'lib/plat/unix/unix-service.c:231,5'
          Dst:             __lws_change_pollfd
        - Src:             'lib/plat/unix/unix-service.c:238,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/plat/unix/unix-service.c:239,3'
          Dst:             lws_realloc
        - Src:             'lib/plat/unix/unix-service.c:265,3'
          Dst:             lws_service_do_ripe_rxflow
        - Src:             'lib/plat/unix/unix-service.c:267,7'
          Dst:             _lws_plat_service_forced_tsi
        - Src:             'lib/plat/unix/unix-service.c:276,3'
          Dst:             lws_context_destroy
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_vhost_first
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 923
      functionLinenumberEnd: 926
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_head
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:924,23'
          Dst:             lws_dll2_get_head
    - 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_dll2_get_next
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 349
      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_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:    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_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_dll2_count
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_is_empty
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 344
      functionLinenumberEnd: 345
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_count
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'include/libwebsockets/lws-dll2.h:345,10'
          Dst:             lws_dll2_count
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_spawn_get_fd_stdxxx
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-spawn.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1085
      functionLinenumberEnd: 1088
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          51
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-spawn.c:1086,2'
          Dst:             __assert_fail
    - functionName:    lws_spawn_prepare_self_cgroup
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-spawn.c'
      linkageType:     InternalLinkage
      functionLinenumber: 966
      functionLinenumberEnd: 1081
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         59
      ICount:          349
      EdgeCount:       78
      CyclomaticComplexity: 21
      functionsReached:
        - __errno_location
        - _lws_log
        - chown
        - close
        - getgrnam_r
        - getpwnam_r
        - lws_open
        - lws_snprintf
        - lws_spawn_get_self_cgroup
        - mkdir
        - strerror
        - write
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-spawn.c:973,6'
          Dst:             lws_spawn_get_self_cgroup
        - Src:             'lib/plat/unix/unix-spawn.c:974,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:979,2'
          Dst:             lws_snprintf
        - Src:             'lib/plat/unix/unix-spawn.c:982,7'
          Dst:             lws_open
        - Src:             'lib/plat/unix/unix-spawn.c:985,3'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-spawn.c:985,3'
          Dst:             strerror
        - Src:             'lib/plat/unix/unix-spawn.c:985,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:990,6'
          Dst:             write
        - Src:             'lib/plat/unix/unix-spawn.c:992,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:993,2'
          Dst:             close
        - Src:             'lib/plat/unix/unix-spawn.c:995,2'
          Dst:             lws_snprintf
        - Src:             'lib/plat/unix/unix-spawn.c:1002,3'
          Dst:             getpwnam_r
        - Src:             'lib/plat/unix/unix-spawn.c:1013,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:1020,8'
          Dst:             getgrnam_r
        - Src:             'lib/plat/unix/unix-spawn.c:1030,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:1035,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:1038,7'
          Dst:             chown
        - Src:             'lib/plat/unix/unix-spawn.c:1039,4'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-spawn.c:1039,4'
          Dst:             strerror
        - Src:             'lib/plat/unix/unix-spawn.c:1039,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:1042,3'
          Dst:             lws_snprintf
        - Src:             'lib/plat/unix/unix-spawn.c:1043,7'
          Dst:             chown
        - Src:             'lib/plat/unix/unix-spawn.c:1044,4'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-spawn.c:1044,4'
          Dst:             strerror
        - Src:             'lib/plat/unix/unix-spawn.c:1044,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:1047,3'
          Dst:             lws_snprintf
        - Src:             'lib/plat/unix/unix-spawn.c:1048,7'
          Dst:             chown
        - Src:             'lib/plat/unix/unix-spawn.c:1049,4'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-spawn.c:1049,4'
          Dst:             strerror
        - Src:             'lib/plat/unix/unix-spawn.c:1049,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:1052,2'
          Dst:             lws_snprintf
        - Src:             'lib/plat/unix/unix-spawn.c:1053,6'
          Dst:             mkdir
        - Src:             'lib/plat/unix/unix-spawn.c:1054,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:1057,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:1060,7'
          Dst:             chown
        - Src:             'lib/plat/unix/unix-spawn.c:1061,4'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-spawn.c:1061,4'
          Dst:             strerror
        - Src:             'lib/plat/unix/unix-spawn.c:1061,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:1064,3'
          Dst:             lws_snprintf
        - Src:             'lib/plat/unix/unix-spawn.c:1065,7'
          Dst:             chown
        - Src:             'lib/plat/unix/unix-spawn.c:1066,4'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-spawn.c:1066,4'
          Dst:             strerror
        - Src:             'lib/plat/unix/unix-spawn.c:1066,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:1069,3'
          Dst:             lws_snprintf
        - Src:             'lib/plat/unix/unix-spawn.c:1070,7'
          Dst:             chown
        - Src:             'lib/plat/unix/unix-spawn.c:1071,4'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-spawn.c:1071,4'
          Dst:             strerror
        - Src:             'lib/plat/unix/unix-spawn.c:1071,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:1076,2'
          Dst:             _lws_log
    - functionName:    lws_spawn_get_self_cgroup
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-spawn.c'
      linkageType:     InternalLinkage
      functionLinenumber: 370
      functionLinenumberEnd: 426
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          150
      EdgeCount:       27
      CyclomaticComplexity: 9
      functionsReached:
        - _lws_log
        - close
        - open
        - read
        - strchr
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-spawn.c:372,11'
          Dst:             open
        - Src:             'lib/plat/unix/unix-spawn.c:378,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:382,6'
          Dst:             read
        - Src:             'lib/plat/unix/unix-spawn.c:383,2'
          Dst:             close
        - Src:             'lib/plat/unix/unix-spawn.c:385,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:392,14'
          Dst:             strchr
        - Src:             'lib/plat/unix/unix-spawn.c:395,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:399,14'
          Dst:             strchr
        - Src:             'lib/plat/unix/unix-spawn.c:401,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:409,7'
          Dst:             strlen
        - Src:             'lib/plat/unix/unix-spawn.c:415,3'
          Dst:             _lws_log
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_spawn_get_stdfd
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-spawn.c'
      linkageType:     InternalLinkage
      functionLinenumber: 960
      functionLinenumberEnd: 961
      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_spawn_get_stdwsi_open_count
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-spawn.c'
      linkageType:     InternalLinkage
      functionLinenumber: 954
      functionLinenumberEnd: 955
      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_spawn_stdwsi_closed
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-spawn.c'
      linkageType:     InternalLinkage
      functionLinenumber: 918
      functionLinenumberEnd: 950
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          150
      EdgeCount:       29
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_spawn_sul_reap
        - lws_sul_schedule
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-spawn.c:938,2'
          Dst:             __assert_fail
        - Src:             'lib/plat/unix/unix-spawn.c:940,2'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:942,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/plat/unix/unix-spawn.c:942,3'
          Dst:             lws_spawn_sul_reap
    - functionName:    lws_spawn_sul_reap
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-spawn.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 88
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          91
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - _lws_log
        - lws_spawn_piped_kill_child_process
        - lws_spawn_reap
        - lws_spawn_sul_reap
        - lws_sul_schedule
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-spawn.c:65,2'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:67,7'
          Dst:             lws_spawn_reap
        - Src:             'lib/plat/unix/unix-spawn.c:69,4'
          Dst:             lws_sul_schedule
        - Src:             'lib/plat/unix/unix-spawn.c:69,4'
          Dst:             lws_spawn_sul_reap
        - Src:             'lib/plat/unix/unix-spawn.c:73,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:76,4'
          Dst:             lws_spawn_piped_kill_child_process
        - Src:             'lib/plat/unix/unix-spawn.c:83,4'
          Dst:             lws_sul_schedule
        - Src:             'lib/plat/unix/unix-spawn.c:83,4'
          Dst:             lws_spawn_sul_reap
    - functionName:    lws_spawn_reap
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-spawn.c'
      linkageType:     InternalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         33
      ICount:          319
      EdgeCount:       44
      CyclomaticComplexity: 13
      functionsReached:
        - __errno_location
        - _lws_log
        - lws_now_usecs
        - lws_spawn_piped_destroy
        - lws_spawn_timeout
        - lws_sul_cancel
        - lws_sul_schedule
        - rmdir
        - wait4
        - waitpid
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-spawn.c:195,6'
          Dst:             wait4
        - Src:             'lib/plat/unix/unix-spawn.c:197,3'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-spawn.c:197,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:212,17'
          Dst:             lws_now_usecs
        - Src:             'lib/plat/unix/unix-spawn.c:219,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/plat/unix/unix-spawn.c:219,3'
          Dst:             lws_spawn_timeout
        - Src:             'lib/plat/unix/unix-spawn.c:232,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:239,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/plat/unix/unix-spawn.c:248,7'
          Dst:             rmdir
        - Src:             'lib/plat/unix/unix-spawn.c:249,4'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-spawn.c:249,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:252,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:281,6'
          Dst:             waitpid
        - Src:             'lib/plat/unix/unix-spawn.c:283,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:286,2'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:298,3'
          Dst:             lws_spawn_piped_destroy
    - functionName:    lws_spawn_piped_kill_child_process
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-spawn.c'
      linkageType:     InternalLinkage
      functionLinenumber: 318
      functionLinenumberEnd: 366
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         30
      ICount:          167
      EdgeCount:       39
      CyclomaticComplexity: 11
      functionsReached:
        - __errno_location
        - _lws_log
        - kill
        - waitpid
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-spawn.c:327,6'
          Dst:             kill
        - Src:             'lib/plat/unix/unix-spawn.c:328,2'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-spawn.c:328,2'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:337,7'
          Dst:             kill
        - Src:             'lib/plat/unix/unix-spawn.c:339,8'
          Dst:             kill
        - Src:             'lib/plat/unix/unix-spawn.c:341,9'
          Dst:             kill
        - Src:             'lib/plat/unix/unix-spawn.c:343,6'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-spawn.c:343,6'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:355,7'
          Dst:             waitpid
        - Src:             'lib/plat/unix/unix-spawn.c:357,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:359,8'
          Dst:             waitpid
        - Src:             'lib/plat/unix/unix-spawn.c:361,5'
          Dst:             _lws_log
    - functionName:    waitpid
      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:    wait4
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_spawn_timeout
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-spawn.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _lws_log
        - lws_spawn_piped_kill_child_process
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-spawn.c:54,2'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:56,2'
          Dst:             lws_spawn_piped_kill_child_process
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_spawn_piped_destroy
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-spawn.c'
      linkageType:     InternalLinkage
      functionLinenumber: 135
      functionLinenumberEnd: 177
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          103
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - lws_dll2_remove
        - lws_realloc
        - lws_set_timeout
        - lws_sul_cancel
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-spawn.c:155,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/plat/unix/unix-spawn.c:157,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/plat/unix/unix-spawn.c:158,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/plat/unix/unix-spawn.c:171,4'
          Dst:             lws_set_timeout
        - Src:             'lib/plat/unix/unix-spawn.c:176,2'
          Dst:             lws_realloc
    - functionName:    lws_spawn_closedown_stdwsis
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-spawn.c'
      linkageType:     InternalLinkage
      functionLinenumber: 908
      functionLinenumberEnd: 914
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          54
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - lws_set_timeout
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-spawn.c:913,4'
          Dst:             lws_set_timeout
    - functionName:    lws_create_stdwsi
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-spawn.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          94
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - __lws_wsi_create_with_role
        - _lws_log
        - lws_dll2_is_empty
        - lws_role_transition
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-spawn.c:97,5'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/plat/unix/unix-spawn.c:101,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:106,12'
          Dst:             __lws_wsi_create_with_role
        - Src:             'lib/plat/unix/unix-spawn.c:109,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:117,2'
          Dst:             lws_role_transition
    - functionName:    lws_vhost_first
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 923
      functionLinenumberEnd: 926
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:924,23'
          Dst:             lws_dll2_get_head
    - functionName:    lws_spawn_piped
      functionSourceFile: '/src/libwebsockets/lib/plat/unix/unix-spawn.c'
      linkageType:     InternalLinkage
      functionLinenumber: 435
      functionLinenumberEnd: 904
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         267
      ICount:          1830
      EdgeCount:       356
      CyclomaticComplexity: 91
      functionsReached:
        - __errno_location
        - __insert_wsi_socket_into_fds
        - __lws_free_wsi
        - __lws_lc_tag
        - __remove_wsi_socket_from_fds
        - _exit
        - _lws_log
        - chdir
        - chroot
        - close
        - dup2
        - execvpe
        - exit
        - fcntl
        - getpgrp
        - getpid
        - grantpt
        - ioctl
        - lws_change_pollfd
        - lws_create_stdwsi
        - lws_dll2_add_head
        - lws_dll2_remove
        - lws_now_usecs
        - lws_open
        - lws_plat_apply_FD_CLOEXEC
        - lws_realloc
        - lws_snprintf
        - lws_spawn_get_self_cgroup
        - lws_spawn_timeout
        - lws_sul_schedule
        - lws_vhost_bind_wsi
        - lws_vhost_first
        - lws_vhost_name_to_protocol
        - lws_zalloc
        - mkdir
        - open
        - pipe
        - posix_openpt
        - prctl
        - ptsname
        - setpgrp
        - setsid
        - strerror
        - tcgetattr
        - tcsetattr
        - tcsetpgrp
        - unlockpt
        - vfork
        - write
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/plat/unix/unix-spawn.c:446,10'
          Dst:             lws_vhost_name_to_protocol
        - Src:             'lib/plat/unix/unix-spawn.c:455,10'
          Dst:             lws_vhost_first
        - Src:             'lib/plat/unix/unix-spawn.c:466,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:472,8'
          Dst:             lws_zalloc
        - Src:             'lib/plat/unix/unix-spawn.c:499,16'
          Dst:             posix_openpt
        - Src:             'lib/plat/unix/unix-spawn.c:500,22'
          Dst:             grantpt
        - Src:             'lib/plat/unix/unix-spawn.c:500,46'
          Dst:             unlockpt
        - Src:             'lib/plat/unix/unix-spawn.c:501,22'
          Dst:             ptsname
        - Src:             'lib/plat/unix/unix-spawn.c:503,17'
          Dst:             open
        - Src:             'lib/plat/unix/unix-spawn.c:507,12'
          Dst:             tcgetattr
        - Src:             'lib/plat/unix/unix-spawn.c:514,8'
          Dst:             tcsetattr
        - Src:             'lib/plat/unix/unix-spawn.c:528,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:535,8'
          Dst:             pipe
        - Src:             'lib/plat/unix/unix-spawn.c:539,35'
          Dst:             lws_plat_apply_FD_CLOEXEC
        - Src:             'lib/plat/unix/unix-spawn.c:540,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:554,20'
          Dst:             lws_create_stdwsi
        - Src:             'lib/plat/unix/unix-spawn.c:557,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:561,17'
          Dst:             __lws_lc_tag
        - Src:             'lib/plat/unix/unix-spawn.c:565,3'
          Dst:             lws_vhost_bind_wsi
        - Src:             'lib/plat/unix/unix-spawn.c:569,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:576,7'
          Dst:             fcntl
        - Src:             'lib/plat/unix/unix-spawn.c:577,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:606,7'
          Dst:             __insert_wsi_socket_into_fds
        - Src:             'lib/plat/unix/unix-spawn.c:609,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/plat/unix/unix-spawn.c:613,4'
          Dst:             lws_dll2_add_head
        - Src:             'lib/plat/unix/unix-spawn.c:620,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/plat/unix/unix-spawn.c:623,8'
          Dst:             lws_change_pollfd
        - Src:             'lib/plat/unix/unix-spawn.c:627,33'
          Dst:             lws_change_pollfd
        - Src:             'lib/plat/unix/unix-spawn.c:629,33'
          Dst:             lws_change_pollfd
        - Src:             'lib/plat/unix/unix-spawn.c:634,2'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:643,7'
          Dst:             lws_spawn_get_self_cgroup
        - Src:             'lib/plat/unix/unix-spawn.c:644,4'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:646,4'
          Dst:             lws_snprintf
        - Src:             'lib/plat/unix/unix-spawn.c:649,8'
          Dst:             mkdir
        - Src:             'lib/plat/unix/unix-spawn.c:650,5'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-spawn.c:650,5'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:657,5'
          Dst:             lws_snprintf
        - Src:             'lib/plat/unix/unix-spawn.c:658,11'
          Dst:             lws_open
        - Src:             'lib/plat/unix/unix-spawn.c:660,10'
          Dst:             write
        - Src:             'lib/plat/unix/unix-spawn.c:661,7'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:663,6'
          Dst:             close
        - Src:             'lib/plat/unix/unix-spawn.c:666,5'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:667,5'
          Dst:             lws_snprintf
        - Src:             'lib/plat/unix/unix-spawn.c:668,11'
          Dst:             lws_open
        - Src:             'lib/plat/unix/unix-spawn.c:670,10'
          Dst:             write
        - Src:             'lib/plat/unix/unix-spawn.c:671,7'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:673,6'
          Dst:             close
        - Src:             'lib/plat/unix/unix-spawn.c:691,19'
          Dst:             vfork
        - Src:             'lib/plat/unix/unix-spawn.c:694,3'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-spawn.c:694,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:700,3'
          Dst:             prctl
        - Src:             'lib/plat/unix/unix-spawn.c:709,3'
          Dst:             setpgrp
        - Src:             'lib/plat/unix/unix-spawn.c:722,5'
          Dst:             close
        - Src:             'lib/plat/unix/unix-spawn.c:732,18'
          Dst:             lws_now_usecs
        - Src:             'lib/plat/unix/unix-spawn.c:734,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:738,4'
          Dst:             lws_sul_schedule
        - Src:             'lib/plat/unix/unix-spawn.c:738,4'
          Dst:             lws_spawn_timeout
        - Src:             'lib/plat/unix/unix-spawn.c:742,4'
          Dst:             lws_dll2_add_head
        - Src:             'lib/plat/unix/unix-spawn.c:745,4'
          Dst:             lws_sul_schedule
        - Src:             'lib/plat/unix/unix-spawn.c:745,4'
          Dst:             lws_spawn_timeout
        - Src:             'lib/plat/unix/unix-spawn.c:771,3'
          Dst:             lws_snprintf
        - Src:             'lib/plat/unix/unix-spawn.c:772,8'
          Dst:             open
        - Src:             'lib/plat/unix/unix-spawn.c:774,64'
          Dst:             getpid
        - Src:             'lib/plat/unix/unix-spawn.c:774,10'
          Dst:             lws_snprintf
        - Src:             'lib/plat/unix/unix-spawn.c:775,8'
          Dst:             write
        - Src:             'lib/plat/unix/unix-spawn.c:780,5'
          Dst:             _exit
        - Src:             'lib/plat/unix/unix-spawn.c:782,4'
          Dst:             close
        - Src:             'lib/plat/unix/unix-spawn.c:784,4'
          Dst:             _exit
        - Src:             'lib/plat/unix/unix-spawn.c:788,24'
          Dst:             chroot
        - Src:             'lib/plat/unix/unix-spawn.c:789,3'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-spawn.c:789,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:792,3'
          Dst:             exit
        - Src:             'lib/plat/unix/unix-spawn.c:795,6'
          Dst:             chdir
        - Src:             'lib/plat/unix/unix-spawn.c:796,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:803,6'
          Dst:             chdir
        - Src:             'lib/plat/unix/unix-spawn.c:804,3'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:819,8'
          Dst:             dup2
        - Src:             'lib/plat/unix/unix-spawn.c:820,5'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-spawn.c:820,5'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-spawn.c:820,5'
          Dst:             strerror
        - Src:             'lib/plat/unix/unix-spawn.c:820,5'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:828,5'
          Dst:             close
        - Src:             'lib/plat/unix/unix-spawn.c:837,4'
          Dst:             setsid
        - Src:             'lib/plat/unix/unix-spawn.c:839,4'
          Dst:             ioctl
        - Src:             'lib/plat/unix/unix-spawn.c:841,18'
          Dst:             getpgrp
        - Src:             'lib/plat/unix/unix-spawn.c:843,6'
          Dst:             tcsetpgrp
        - Src:             'lib/plat/unix/unix-spawn.c:868,2'
          Dst:             execvpe
        - Src:             'lib/plat/unix/unix-spawn.c:874,2'
          Dst:             __errno_location
        - Src:             'lib/plat/unix/unix-spawn.c:874,2'
          Dst:             _lws_log
        - Src:             'lib/plat/unix/unix-spawn.c:877,2'
          Dst:             _exit
        - Src:             'lib/plat/unix/unix-spawn.c:885,4'
          Dst:             __remove_wsi_socket_from_fds
        - Src:             'lib/plat/unix/unix-spawn.c:889,4'
          Dst:             __lws_free_wsi
        - Src:             'lib/plat/unix/unix-spawn.c:894,4'
          Dst:             close
        - Src:             'lib/plat/unix/unix-spawn.c:896,4'
          Dst:             close
        - Src:             'lib/plat/unix/unix-spawn.c:899,2'
          Dst:             lws_realloc
        - Src:             'lib/plat/unix/unix-spawn.c:901,2'
          Dst:             _lws_log
    - functionName:    posix_openpt
      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:    grantpt
      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:    unlockpt
      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:    ptsname
      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:    tcgetattr
      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:    tcsetattr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pipe
      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:    vfork
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    prctl
      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:    setpgrp
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    chroot
      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:    chdir
      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:    dup2
      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:    setsid
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getpgrp
      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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    tcsetpgrp
      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:    execvpe
      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:    lws_tls_versioned_certs_cb
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 954
      functionLinenumberEnd: 986
      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:956,22'
          Dst:             strlen
        - Src:             'lib/tls/tls.c:957,20'
          Dst:             strlen
        - Src:             'lib/tls/tls.c:958,22'
          Dst:             strlen
        - Src:             'lib/tls/tls.c:965,7'
          Dst:             strncmp
        - Src:             'lib/tls/tls.c:966,7'
          Dst:             strcmp
        - Src:             'lib/tls/tls.c:981,4'
          Dst:             lws_strncpy
        - Src:             'lib/tls/tls.c:982,4'
          Dst:             lws_strncpy
    - functionName:    lws_tls_find_versioned_certs
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 993
      functionLinenumberEnd: 1044
      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:1004,6'
          Dst:             strrchr
        - Src:             'lib/tls/tls.c:1012,2'
          Dst:             lws_strncpy
        - Src:             'lib/tls/tls.c:1015,6'
          Dst:             strstr
        - Src:             'lib/tls/tls.c:1017,13'
          Dst:             strstr
        - Src:             'lib/tls/tls.c:1019,13'
          Dst:             strstr
        - Src:             'lib/tls/tls.c:1028,27'
          Dst:             strstr
        - Src:             'lib/tls/tls.c:1032,2'
          Dst:             lws_strncpy
        - Src:             'lib/tls/tls.c:1038,2'
          Dst:             lws_dir
        - Src:             'lib/tls/tls.c:1038,2'
          Dst:             lws_tls_versioned_certs_cb
        - Src:             'lib/tls/tls.c:1041,3'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:1043,3'
          Dst:             lws_snprintf
    - functionName:    lws_tls_resolve_grace_period_certs
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1052
      functionLinenumberEnd: 1141
      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:1056,15'
          Dst:             time
        - Src:             'lib/tls/tls.c:1067,2'
          Dst:             lws_strncpy
        - Src:             'lib/tls/tls.c:1068,2'
          Dst:             lws_strncpy
        - Src:             'lib/tls/tls.c:1072,7'
          Dst:             strstr
        - Src:             'lib/tls/tls.c:1072,43'
          Dst:             strstr
        - Src:             'lib/tls/tls.c:1075,2'
          Dst:             lws_tls_find_versioned_certs
        - Src:             'lib/tls/tls.c:1079,2'
          Dst:             lws_tls_find_versioned_certs
        - Src:             'lib/tls/tls.c:1086,6'
          Dst:             lws_tls_cert_get_x509_validity
        - Src:             'lib/tls/tls.c:1088,3'
          Dst:             lws_strncpy
        - Src:             'lib/tls/tls.c:1089,3'
          Dst:             lws_strncpy
        - Src:             'lib/tls/tls.c:1093,2'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:1095,6'
          Dst:             lws_system_parse_policy
        - Src:             'lib/tls/tls.c:1096,3'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:1097,3'
          Dst:             lws_system_policy_free
        - Src:             'lib/tls/tls.c:1101,11'
          Dst:             open
        - Src:             'lib/tls/tls.c:1104,16'
          Dst:             read
        - Src:             'lib/tls/tls.c:1107,28'
          Dst:             strstr
        - Src:             'lib/tls/tls.c:1109,17'
          Dst:             strstr
        - Src:             'lib/tls/tls.c:1111,27'
          Dst:             strchr
        - Src:             'lib/tls/tls.c:1117,22'
          Dst:             atoi
        - Src:             'lib/tls/tls.c:1121,3'
          Dst:             close
        - Src:             'lib/tls/tls.c:1126,7'
          Dst:             lws_tls_cert_get_x509_validity
        - Src:             'lib/tls/tls.c:1129,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:1131,3'
          Dst:             lws_strncpy
        - Src:             'lib/tls/tls.c:1132,3'
          Dst:             lws_strncpy
        - Src:             'lib/tls/tls.c:1134,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:1135,3'
          Dst:             lws_strncpy
        - Src:             'lib/tls/tls.c:1136,3'
          Dst:             lws_strncpy
    - functionName:    lws_tls_cert_get_x509_validity
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 908
      functionLinenumberEnd: 941
      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:915,6'
          Dst:             alloc_file
        - Src:             'lib/tls/tls.c:920,6'
          Dst:             lws_x509_create
        - Src:             'lib/tls/tls.c:923,6'
          Dst:             lws_x509_parse_from_pem
        - Src:             'lib/tls/tls.c:926,7'
          Dst:             lws_x509_info
        - Src:             'lib/tls/tls.c:927,7'
          Dst:             lws_x509_info
        - Src:             'lib/tls/tls.c:936,2'
          Dst:             lws_x509_destroy
        - Src:             'lib/tls/tls.c:938,2'
          Dst:             lws_realloc
    - functionName:    alloc_file
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 473
      functionLinenumberEnd: 520
      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:479,6'
          Dst:             fopen
        - Src:             'lib/tls/tls.c:485,6'
          Dst:             fseek
        - Src:             'lib/tls/tls.c:490,15'
          Dst:             ftell
        - Src:             'lib/tls/tls.c:497,6'
          Dst:             fseek
        - Src:             'lib/tls/tls.c:502,9'
          Dst:             lws_realloc
        - Src:             'lib/tls/tls.c:508,6'
          Dst:             fread
        - Src:             'lib/tls/tls.c:509,3'
          Dst:             lws_realloc
        - Src:             'lib/tls/tls.c:518,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: 867
      functionLinenumberEnd: 903
      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:874,13'
          Dst:             lws_genhash_size
        - Src:             'lib/tls/tls.c:878,8'
          Dst:             lws_realloc
        - Src:             'lib/tls/tls.c:884,6'
          Dst:             lws_x509_info
        - Src:             'lib/tls/tls.c:887,6'
          Dst:             lws_genhash_init
        - Src:             'lib/tls/tls.c:890,6'
          Dst:             lws_genhash_update
        - Src:             'lib/tls/tls.c:891,3'
          Dst:             lws_genhash_destroy
        - Src:             'lib/tls/tls.c:895,6'
          Dst:             lws_genhash_destroy
        - Src:             'lib/tls/tls.c:901,2'
          Dst:             lws_realloc
    - functionName:    lws_tls_cert_get_x509_remaining
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 826
      functionLinenumberEnd: 862
      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:836,6'
          Dst:             alloc_file
        - Src:             'lib/tls/tls.c:841,6'
          Dst:             lws_x509_create
        - Src:             'lib/tls/tls.c:844,6'
          Dst:             lws_x509_parse_from_pem
        - Src:             'lib/tls/tls.c:847,7'
          Dst:             lws_x509_info
        - Src:             'lib/tls/tls.c:848,7'
          Dst:             lws_x509_info
        - Src:             'lib/tls/tls.c:849,16'
          Dst:             time
        - Src:             'lib/tls/tls.c:857,2'
          Dst:             lws_x509_destroy
        - Src:             'lib/tls/tls.c:859,2'
          Dst:             lws_realloc
    - functionName:    lws_tls_extant
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 721
      functionLinenumberEnd: 735
      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:723,11'
          Dst:             open
        - Src:             'lib/tls/tls.c:731,6'
          Dst:             read
        - Src:             'lib/tls/tls.c:732,2'
          Dst:             close
    - functionName:    lws_tls_use_any_upgrade_check_extant
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 769
      functionLinenumberEnd: 822
      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:777,2'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:778,7'
          Dst:             lws_tls_extant
        - Src:             'lib/tls/tls.c:780,8'
          Dst:             lws_tls_extant
        - Src:             'lib/tls/tls.c:783,5'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:785,10'
          Dst:             rename
        - Src:             'lib/tls/tls.c:789,5'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:793,4'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:796,7'
          Dst:             rename
        - Src:             'lib/tls/tls.c:797,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:803,6'
          Dst:             lws_tls_extant
    - functionName:    lws_tls_client_vhost_ca_mem_parse
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 653
      functionLinenumberEnd: 711
      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:665,6'
          Dst:             strstr
        - Src:             'lib/tls/tls.c:667,10'
          Dst:             lws_tls_client_vhost_extra_cert_mem
        - Src:             'lib/tls/tls.c:673,7'
          Dst:             strstr
        - Src:             'lib/tls/tls.c:677,7'
          Dst:             strstr
        - Src:             'lib/tls/tls.c:690,8'
          Dst:             lws_tls_alloc_pem_to_der_file
        - Src:             'lib/tls/tls.c:694,10'
          Dst:             lws_tls_client_vhost_extra_cert_mem
        - Src:             'lib/tls/tls.c:697,5'
          Dst:             lws_realloc
        - Src:             'lib/tls/tls.c:705,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:709,2'
          Dst:             _lws_log
    - functionName:    lws_tls_alloc_pem_to_der_file
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 540
      functionLinenumberEnd: 647
      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:547,7'
          Dst:             alloc_file
        - Src:             'lib/tls/tls.c:561,6'
          Dst:             strncmp
        - Src:             'lib/tls/tls.c:565,9'
          Dst:             lws_realloc
        - Src:             'lib/tls/tls.c:581,9'
          Dst:             lws_realloc
        - Src:             'lib/tls/tls.c:583,4'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:612,20'
          Dst:             strncmp
        - Src:             'lib/tls/tls.c:628,5'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:629,5'
          Dst:             lwsl_hexdump_level
        - Src:             'lib/tls/tls.c:631,6'
          Dst:             lws_b64_decode_string_len
        - Src:             'lib/tls/tls.c:634,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:644,2'
          Dst:             lws_realloc
    - functionName:    lws_tls_server_conn_alpn
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 351
      functionLinenumberEnd: 432
      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:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:359,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:362,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:394,2'
          Dst:             SSL_get0_alpn_selected
        - Src:             'lib/tls/tls.c:397,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:407,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:415,3'
          Dst:             lws_snprintf
        - Src:             'lib/tls/tls.c:418,6'
          Dst:             lws_now_usecs
        - Src:             'lib/tls/tls.c:417,3'
          Dst:             lws_cache_write_through
        - Src:             'lib/tls/tls.c:419,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/tls/tls.c:419,3'
          Dst:             _lws_log_cx
        - Src:             'lib/tls/tls.c:419,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/tls/tls.c:423,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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    alpn_cb
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 155
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          260
      EdgeCount:       55
      CyclomaticComplexity: 16
      functionsReached:
        - SSL_get_ex_data
        - SSL_select_next_proto
        - memcmp
        - strcmp
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls.c:110,20'
          Dst:             SSL_get_ex_data
        - Src:             'lib/tls/tls.c:112,31'
          Dst:             strcmp
        - Src:             'lib/tls/tls.c:123,23'
          Dst:             memcmp
        - Src:             'lib/tls/tls.c:124,23'
          Dst:             memcmp
        - Src:             'lib/tls/tls.c:133,23'
          Dst:             memcmp
        - Src:             'lib/tls/tls.c:148,6'
          Dst:             SSL_select_next_proto
    - 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:    6
      BranchProfiles:  []
      Callsites:       []
    - 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: 308
      functionLinenumberEnd: 347
      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:317,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:319,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:322,37'
          Dst:             lws_alpn_comma_to_openssl
        - Src:             'lib/tls/tls.c:337,2'
          Dst:             SSL_CTX_set_alpn_select_cb
        - Src:             'lib/tls/tls.c:337,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: 285
      functionLinenumberEnd: 304
      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:294,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:301,3'
          Dst:             lws_tls_restrict_return_handshake
        - Src:             'lib/tls/tls.c:303,3'
          Dst:             _lws_tls_restrict_return
    - functionName:    lws_tls_restrict_return_handshake
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 265
      functionLinenumberEnd: 281
      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:276,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:280,2'
          Dst:             _lws_tls_restrict_return
    - functionName:    _lws_tls_restrict_return
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 248
      functionLinenumberEnd: 261
      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:252,2'
          Dst:             __assert_fail
        - Src:             'lib/tls/tls.c:253,2'
          Dst:             __assert_fail
        - Src:             'lib/tls/tls.c:255,2'
          Dst:             lws_gate_accepts
    - functionName:    lws_tls_restrict_borrow
      functionSourceFile: '/src/libwebsockets/lib/tls/tls.c'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 244
      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:206,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:214,3'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:224,2'
          Dst:             _lws_log
        - Src:             'lib/tls/tls.c:228,2'
          Dst:             __assert_fail
        - Src:             'lib/tls/tls.c:231,2'
          Dst:             __assert_fail
        - Src:             'lib/tls/tls.c:236,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:    lws_dll2_get_next
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 349
      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_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:          123
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_log_cx
        - lws_change_pollfd
        - lws_dll2_get_head
        - lws_log_prepend_context
        - lws_vhost_first
        - lws_vhost_next
        - lwsl_context_get_cx
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:353,24'
          Dst:             lws_vhost_first
        - 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
        - Src:             'lib/tls/tls-network.c:374,7'
          Dst:             lws_vhost_next
    - functionName:    lws_vhost_first
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 923
      functionLinenumberEnd: 926
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_head
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:924,23'
          Dst:             lws_dll2_get_head
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_vhost_next
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 931
      functionLinenumberEnd: 934
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_next
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:932,23'
          Dst:             lws_dll2_get_next
    - 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:          44
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_tls_check_cert_lifetime
        - lws_vhost_first
        - lws_vhost_next
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:231,24'
          Dst:             lws_vhost_first
        - Src:             'lib/tls/tls-network.c:234,7'
          Dst:             lws_tls_check_cert_lifetime
        - Src:             'lib/tls/tls-network.c:236,7'
          Dst:             lws_vhost_next
    - 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:         28
      ICount:          228
      EdgeCount:       38
      CyclomaticComplexity: 12
      functionsReached:
        - _lws_log_cx
        - lws_dll2_add_tail
        - lws_dll2_get_head
        - 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:303,2'
          Dst:             lws_dll2_get_head
        - 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:         19
      ICount:          135
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_dll2_safe_next
        - _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
        - Src:             'lib/tls/tls-network.c:145,2'
          Dst:             _lws_dll2_safe_next
    - 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:         25
      ICount:          209
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - _lws_dll2_safe_next
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/tls-network.c:38,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/tls/tls-network.c:38,2'
          Dst:             _lws_dll2_safe_next
    - 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:    19
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-tls.c:42,7'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-tls.c:46,22'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-tls.c:46,3'
          Dst:             ERR_error_string_n
        - Src:             'lib/tls/openssl/openssl-tls.c:47,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-tls.c:49,2'
          Dst:             _lws_log
    - functionName:    ERR_peek_error
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ERR_get_error
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ERR_error_string_n
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dec
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    16
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_x509_create_self_signed
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1249
      functionLinenumberEnd: 1257
      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:1257,9'
          Dst:             lws_x509_create_cert
    - functionName:    lws_x509_create_cert
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-x509.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1031
      functionLinenumberEnd: 1242
      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:1037,19'
          Dst:             EVP_PKEY_new
        - Src:             'lib/tls/openssl/openssl-x509.c:1053,13'
          Dst:             OBJ_sn2nid
        - Src:             'lib/tls/openssl/openssl-x509.c:1055,10'
          Dst:             OBJ_ln2nid
        - Src:             'lib/tls/openssl/openssl-x509.c:1058,9'
          Dst:             strcmp
        - Src:             'lib/tls/openssl/openssl-x509.c:1059,14'
          Dst:             strcmp
        - Src:             'lib/tls/openssl/openssl-x509.c:1060,14'
          Dst:             strcmp
        - Src:             'lib/tls/openssl/openssl-x509.c:1064,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-x509.c:1070,25'
          Dst:             EVP_PKEY_CTX_new_id
        - Src:             'lib/tls/openssl/openssl-x509.c:1072,8'
          Dst:             EVP_PKEY_keygen_init
        - Src:             'lib/tls/openssl/openssl-x509.c:1073,8'
          Dst:             EVP_PKEY_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-x509.c:1074,8'
          Dst:             EVP_PKEY_keygen
        - Src:             'lib/tls/openssl/openssl-x509.c:1075,5'
          Dst:             EVP_PKEY_CTX_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1078,4'
          Dst:             EVP_PKEY_CTX_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1097,25'
          Dst:             EVP_PKEY_CTX_new_id
        - Src:             'lib/tls/openssl/openssl-x509.c:1099,8'
          Dst:             EVP_PKEY_keygen_init
        - Src:             'lib/tls/openssl/openssl-x509.c:1100,8'
          Dst:             RSA_pkey_ctx_ctrl
        - Src:             'lib/tls/openssl/openssl-x509.c:1101,8'
          Dst:             EVP_PKEY_keygen
        - Src:             'lib/tls/openssl/openssl-x509.c:1102,5'
          Dst:             EVP_PKEY_CTX_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1105,4'
          Dst:             EVP_PKEY_CTX_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1117,9'
          Dst:             X509_new
        - Src:             'lib/tls/openssl/openssl-x509.c:1120,2'
          Dst:             X509_set_version
        - Src:             'lib/tls/openssl/openssl-x509.c:1124,26'
          Dst:             X509_get_serialNumber
        - Src:             'lib/tls/openssl/openssl-x509.c:1125,16'
          Dst:             BN_new
        - Src:             'lib/tls/openssl/openssl-x509.c:1129,3'
          Dst:             BN_pseudo_rand
        - Src:             'lib/tls/openssl/openssl-x509.c:1131,3'
          Dst:             BN_to_ASN1_INTEGER
        - Src:             'lib/tls/openssl/openssl-x509.c:1132,3'
          Dst:             BN_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1135,18'
          Dst:             X509_getm_notBefore
        - Src:             'lib/tls/openssl/openssl-x509.c:1135,2'
          Dst:             X509_gmtime_adj
        - Src:             'lib/tls/openssl/openssl-x509.c:1136,18'
          Dst:             X509_getm_notAfter
        - Src:             'lib/tls/openssl/openssl-x509.c:1136,2'
          Dst:             X509_gmtime_adj
        - Src:             'lib/tls/openssl/openssl-x509.c:1138,2'
          Dst:             X509_set_pubkey
        - Src:             'lib/tls/openssl/openssl-x509.c:1144,22'
          Dst:             X509_get_subject_name
        - Src:             'lib/tls/openssl/openssl-x509.c:1145,2'
          Dst:             X509_NAME_add_entry_by_txt
        - Src:             'lib/tls/openssl/openssl-x509.c:1150,9'
          Dst:             BIO_new_mem_buf
        - Src:             'lib/tls/openssl/openssl-x509.c:1151,17'
          Dst:             PEM_read_bio_X509
        - Src:             'lib/tls/openssl/openssl-x509.c:1152,3'
          Dst:             BIO_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1155,9'
          Dst:             BIO_new_mem_buf
        - Src:             'lib/tls/openssl/openssl-x509.c:1156,17'
          Dst:             PEM_read_bio_PrivateKey
        - Src:             'lib/tls/openssl/openssl-x509.c:1157,3'
          Dst:             BIO_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1160,30'
          Dst:             X509_get_subject_name
        - Src:             'lib/tls/openssl/openssl-x509.c:1160,3'
          Dst:             X509_set_issuer_name
        - Src:             'lib/tls/openssl/openssl-x509.c:1162,3'
          Dst:             X509_set_issuer_name
        - Src:             'lib/tls/openssl/openssl-x509.c:1171,3'
          Dst:             X509V3_set_ctx
        - Src:             'lib/tls/openssl/openssl-x509.c:1174,4'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1175,4'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1177,4'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1178,4'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1180,5'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1182,5'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1185,3'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1188,4'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1190,4'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1194,17'
          Dst:             strspn
        - Src:             'lib/tls/openssl/openssl-x509.c:1194,53'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:1195,10'
          Dst:             strspn
        - Src:             'lib/tls/openssl/openssl-x509.c:1195,58'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-x509.c:1195,87'
          Dst:             strchr
        - Src:             'lib/tls/openssl/openssl-x509.c:1196,4'
          Dst:             lws_snprintf
        - Src:             'lib/tls/openssl/openssl-x509.c:1197,4'
          Dst:             X509_extension_helper
        - Src:             'lib/tls/openssl/openssl-x509.c:1203,36'
          Dst:             EVP_sha256
        - Src:             'lib/tls/openssl/openssl-x509.c:1203,7'
          Dst:             X509_sign
        - Src:             'lib/tls/openssl/openssl-x509.c:1209,6'
          Dst:             i2d_X509
        - Src:             'lib/tls/openssl/openssl-x509.c:1215,22'
          Dst:             i2d_X509
        - Src:             'lib/tls/openssl/openssl-x509.c:1218,6'
          Dst:             i2d_PrivateKey
        - Src:             'lib/tls/openssl/openssl-x509.c:1230,21'
          Dst:             i2d_PrivateKey
        - Src:             'lib/tls/openssl/openssl-x509.c:1235,42'
          Dst:             X509_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1236,42'
          Dst:             EVP_PKEY_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1237,12'
          Dst:             X509_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1238,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:    1
      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: 1012
      functionLinenumberEnd: 1023
      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:1015,7'
          Dst:             X509V3_EXT_conf_nid
        - Src:             'lib/tls/openssl/openssl-x509.c:1019,2'
          Dst:             X509_add_ext
        - Src:             'lib/tls/openssl/openssl-x509.c:1020,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: 991
      functionLinenumberEnd: 1001
      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:996,3'
          Dst:             X509_free
        - Src:             'lib/tls/openssl/openssl-x509.c:1000,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:    1
      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_dll2_owner_container
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 457
      functionLinenumberEnd: 459
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          36
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_tls_session_expiry_cb
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 180
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          32
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - __lws_tls_session_destroy
        - _lws_dll2_owner_container
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:172,25'
          Dst:             _lws_dll2_owner_container
        - Src:             'lib/tls/openssl/openssl-session.c:177,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: 58
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - SSL_SESSION_free
        - _lws_log
        - lws_dll2_count
        - lws_dll2_owner
        - lws_dll2_remove
        - lws_realloc
        - lws_sul_cancel
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:46,38'
          Dst:             lws_dll2_owner
        - Src:             'lib/tls/openssl/openssl-session.c:46,23'
          Dst:             lws_dll2_count
        - Src:             'lib/tls/openssl/openssl-session.c:50,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:53,2'
          Dst:             lws_sul_cancel
        - Src:             'lib/tls/openssl/openssl-session.c:54,2'
          Dst:             SSL_SESSION_free
        - Src:             'lib/tls/openssl/openssl-session.c:55,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/tls/openssl/openssl-session.c:57,2'
          Dst:             lws_realloc
    - functionName:    lws_dll2_owner
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 320
      functionLinenumberEnd: 320
      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_dll2_count
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - 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: 323
      functionLinenumberEnd: 323
      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_tls_session_add_entry
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 218
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          104
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - __lws_tls_session_destroy
        - _lws_log
        - lws_dll2_add_tail
        - lws_dll2_count
        - lws_dll2_get_head
        - lws_realloc
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-session.c:186,14'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-session.c:188,6'
          Dst:             lws_dll2_count
        - Src:             'lib/tls/openssl/openssl-session.c:195,8'
          Dst:             lws_dll2_get_head
        - Src:             'lib/tls/openssl/openssl-session.c:199,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:202,4'
          Dst:             __lws_tls_session_destroy
        - Src:             'lib/tls/openssl/openssl-session.c:207,7'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-session.c:215,2'
          Dst:             lws_dll2_add_tail
    - functionName:    lws_tls_session_dump_load
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 432
      functionLinenumberEnd: 502
      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:442,2'
          Dst:             lws_tls_session_tag_discrete
        - Src:             'lib/tls/openssl/openssl-session.c:447,7'
          Dst:             __lws_tls_session_lookup_by_name
        - Src:             'lib/tls/openssl/openssl-session.c:454,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:460,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:469,9'
          Dst:             d2i_SSL_SESSION
        - Src:             'lib/tls/openssl/openssl-session.c:473,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:478,7'
          Dst:             lws_tls_session_add_entry
        - Src:             'lib/tls/openssl/openssl-session.c:482,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:487,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:495,2'
          Dst:             SSL_SESSION_free
    - functionName:    __lws_tls_session_lookup_by_name
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 74
      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:63,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/tls/openssl/openssl-session.c:68,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: 380
      functionLinenumberEnd: 427
      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:389,2'
          Dst:             lws_tls_session_tag_discrete
        - Src:             'lib/tls/openssl/openssl-session.c:394,7'
          Dst:             __lws_tls_session_lookup_by_name
        - Src:             'lib/tls/openssl/openssl-session.c:400,7'
          Dst:             i2d_SSL_SESSION
        - Src:             'lib/tls/openssl/openssl-session.c:405,15'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-session.c:410,3'
          Dst:             i2d_SSL_SESSION
        - Src:             'lib/tls/openssl/openssl-session.c:415,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:419,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: 222
      functionLinenumberEnd: 309
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          169
      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_count
        - 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:223,34'
          Dst:             SSL_get_ex_data
        - Src:             'lib/tls/openssl/openssl-session.c:234,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:244,6'
          Dst:             lws_tls_session_tag_from_wsi
        - Src:             'lib/tls/openssl/openssl-session.c:249,8'
          Dst:             SSL_SESSION_get_timeout
        - Src:             'lib/tls/openssl/openssl-session.c:254,7'
          Dst:             __lws_tls_session_lookup_by_name
        - Src:             'lib/tls/openssl/openssl-session.c:257,8'
          Dst:             lws_tls_session_add_entry
        - Src:             'lib/tls/openssl/openssl-session.c:262,3'
          Dst:             lws_sul_schedule
        - Src:             'lib/tls/openssl/openssl-session.c:262,3'
          Dst:             lws_tls_session_expiry_cb
        - Src:             'lib/tls/openssl/openssl-session.c:280,3'
          Dst:             SSL_SESSION_free
        - Src:             'lib/tls/openssl/openssl-session.c:284,3'
          Dst:             lws_dll2_remove
        - Src:             'lib/tls/openssl/openssl-session.c:285,3'
          Dst:             lws_dll2_add_tail
        - Src:             'lib/tls/openssl/openssl-session.c:293,2'
          Dst:             lws_dll2_count
        - Src:             'lib/tls/openssl/openssl-session.c:293,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: 354
      functionLinenumberEnd: 375
      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:360,10'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-session.c:362,2'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-session.c:365,2'
          Dst:             SSL_CTX_sess_set_new_cb
        - Src:             'lib/tls/openssl/openssl-session.c:365,2'
          Dst:             lws_tls_session_new_cb
        - Src:             'lib/tls/openssl/openssl-session.c:373,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:    6
      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: 153
      functionLinenumberEnd: 158
      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:156,2'
          Dst:             __lws_tls_session_destroy
    - functionName:    lws_tls_session_vh_destroy
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-session.c'
      linkageType:     InternalLinkage
      functionLinenumber: 163
      functionLinenumberEnd: 166
      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:164,2'
          Dst:             lws_dll2_foreach_safe
        - Src:             'lib/tls/openssl/openssl-session.c:164,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: 138
      functionLinenumberEnd: 149
      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:140,21'
          Dst:             lws_get_network_wsi
        - Src:             'lib/tls/openssl/openssl-session.c:145,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: 82
      functionLinenumberEnd: 134
      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:93,6'
          Dst:             lws_tls_session_tag_from_wsi
        - Src:             'lib/tls/openssl/openssl-session.c:95,7'
          Dst:             __lws_tls_session_lookup_by_name
        - Src:             'lib/tls/openssl/openssl-session.c:98,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:102,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:104,7'
          Dst:             SSL_set_session
        - Src:             'lib/tls/openssl/openssl-session.c:105,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-session.c:117,4'
          Dst:             time
        - Src:             'lib/tls/openssl/openssl-session.c:111,2'
          Dst:             SSL_SESSION_set_time
        - Src:             'lib/tls/openssl/openssl-session.c:122,2'
          Dst:             lws_dll2_remove
        - Src:             'lib/tls/openssl/openssl-session.c:123,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:    14
      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_dll2_get_next
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 349
      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_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_server_socket_service_ssl
      functionSourceFile: '/src/libwebsockets/lib/tls/tls-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 492
      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:457,3'
          Dst:             __errno_location
        - Src:             'lib/tls/tls-server.c:461,7'
          Dst:             lws_tls_server_accept
        - Src:             'lib/tls/tls-server.c:471,7'
          Dst:             lws_tls_server_accept_completed
        - Src:             'lib/tls/tls-server.c:486,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:          186
      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
        - lws_vhost_first
        - lws_vhost_next
        - 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:163,7'
          Dst:             lws_vhost_first
        - 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:171,8'
          Dst:             lws_vhost_next
        - 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_vhost_first
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 923
      functionLinenumberEnd: 926
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:924,23'
          Dst:             lws_dll2_get_head
    - functionName:    lws_vhost_next
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 931
      functionLinenumberEnd: 934
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_next
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:932,23'
          Dst:             lws_dll2_get_next
    - 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_dll2_get_next
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 349
      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_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_vhost_next
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 931
      functionLinenumberEnd: 934
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_next
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:932,23'
          Dst:             lws_dll2_get_next
    - functionName:    lws_vhost_first
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 923
      functionLinenumberEnd: 926
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:924,23'
          Dst:             lws_dll2_get_head
    - functionName:    lws_tls_server_accept
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 814
      functionLinenumberEnd: 889
      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:819,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-server.c:820,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-server.c:826,6'
          Dst:             SSL_accept
        - Src:             'lib/tls/openssl/openssl-server.c:839,7'
          Dst:             lws_tls_peer_cert_info
        - Src:             'lib/tls/openssl/openssl-server.c:842,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:845,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:847,3'
          Dst:             lws_openssl_describe_cipher
        - Src:             'lib/tls/openssl/openssl-server.c:849,7'
          Dst:             SSL_pending
        - Src:             'lib/tls/openssl/openssl-server.c:850,7'
          Dst:             lws_dll2_is_detached
        - Src:             'lib/tls/openssl/openssl-server.c:852,5'
          Dst:             lws_dll2_add_head
        - Src:             'lib/tls/openssl/openssl-server.c:860,6'
          Dst:             lws_ssl_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:861,2'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-server.c:867,37'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-server.c:868,37'
          Dst:             lws_change_pollfd
        - Src:             'lib/tls/openssl/openssl-server.c:869,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:874,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:877,35'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-server.c:878,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:880,37'
          Dst:             lws_change_pollfd
        - Src:             'lib/tls/openssl/openssl-server.c:881,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: 803
      functionLinenumberEnd: 808
      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:805,3'
          Dst:             SSL_shutdown
        - Src:             'lib/tls/openssl/openssl-server.c:806,2'
          Dst:             SSL_free
    - functionName:    lws_tls_server_new_nonblocking
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 751
      functionLinenumberEnd: 799
      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:756,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-server.c:757,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-server.c:758,21'
          Dst:             lws_tls_ctx_ref_get
        - Src:             'lib/tls/openssl/openssl-server.c:759,17'
          Dst:             SSL_new
        - Src:             'lib/tls/openssl/openssl-server.c:761,3'
          Dst:             lws_ssl_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:761,3'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-server.c:761,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:764,3'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-server.c:768,2'
          Dst:             SSL_set_ex_data
        - Src:             'lib/tls/openssl/openssl-server.c:769,2'
          Dst:             SSL_set_fd
        - Src:             'lib/tls/openssl/openssl-server.c:779,2'
          Dst:             SSL_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:781,8'
          Dst:             SSL_get_rbio
        - Src:             'lib/tls/openssl/openssl-server.c:783,3'
          Dst:             BIO_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:785,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:786,8'
          Dst:             SSL_get_wbio
        - Src:             'lib/tls/openssl/openssl-server.c:788,3'
          Dst:             BIO_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:790,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:795,4'
          Dst:             SSL_set_info_callback
        - Src:             'lib/tls/openssl/openssl-server.c:795,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: 709
      functionLinenumberEnd: 747
      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:712,6'
          Dst:             lws_tls_vhost_backend_create_ctx
        - Src:             'lib/tls/openssl/openssl-server.c:719,11'
          Dst:             lws_tls_generic_cert_checks
        - Src:             'lib/tls/openssl/openssl-server.c:724,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:725,3'
          Dst:             SSL_CTX_free
        - Src:             'lib/tls/openssl/openssl-server.c:730,2'
          Dst:             lws_ssl_bind_passphrase
        - Src:             'lib/tls/openssl/openssl-server.c:732,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: 526
      functionLinenumberEnd: 704
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         69
      ICount:          498
      EdgeCount:       92
      CyclomaticComplexity: 25
      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
        - lws_tls_err_describe_clear
        - sk_X509_NAME_new_null
        - sk_X509_NAME_num
        - sk_X509_NAME_push
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-server.c:528,37'
          Dst:             TLS_server_method
        - Src:             'lib/tls/openssl/openssl-server.c:534,11'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-server.c:535,24'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:535,7'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-server.c:537,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:541,17'
          Dst:             SSL_CTX_new
        - Src:             'lib/tls/openssl/openssl-server.c:546,11'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-server.c:547,24'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:547,7'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-server.c:548,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:555,2'
          Dst:             SSL_CTX_set_keylog_callback
        - Src:             'lib/tls/openssl/openssl-server.c:555,2'
          Dst:             lws_klog_dump
        - Src:             'lib/tls/openssl/openssl-server.c:558,2'
          Dst:             SSL_CTX_set_ex_data
        - Src:             'lib/tls/openssl/openssl-server.c:562,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:575,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-server.c:576,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-server.c:579,13'
          Dst:             lws_strdup
        - Src:             'lib/tls/openssl/openssl-server.c:587,4'
          Dst:             SSL_CTX_set_cipher_list
        - Src:             'lib/tls/openssl/openssl-server.c:589,4'
          Dst:             SSL_CTX_set_ciphersuites
        - Src:             'lib/tls/openssl/openssl-server.c:591,4'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-server.c:594,3'
          Dst:             SSL_CTX_set_cipher_list
        - Src:             'lib/tls/openssl/openssl-server.c:598,3'
          Dst:             SSL_CTX_set_ciphersuites
        - Src:             'lib/tls/openssl/openssl-server.c:605,8'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:607,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:609,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-server.c:613,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:618,2'
          Dst:             SSL_CTX_callback_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:618,2'
          Dst:             lws_ssl_server_name_cb
        - Src:             'lib/tls/openssl/openssl-server.c:620,2'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-server.c:628,11'
          Dst:             SSL_CTX_load_verify_locations
        - Src:             'lib/tls/openssl/openssl-server.c:631,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:637,34'
          Dst:             SSL_load_client_CA_file
        - Src:             'lib/tls/openssl/openssl-server.c:639,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:641,5'
          Dst:             sk_X509_NAME_num
        - Src:             'lib/tls/openssl/openssl-server.c:641,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:642,5'
          Dst:             SSL_CTX_set_client_CA_list
        - Src:             'lib/tls/openssl/openssl-server.c:650,7'
          Dst:             lws_tls_alloc_pem_to_der_file
        - Src:             'lib/tls/openssl/openssl-server.c:652,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:658,22'
          Dst:             d2i_X509
        - Src:             'lib/tls/openssl/openssl-server.c:661,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:663,30'
          Dst:             X509_STORE_new
        - Src:             'lib/tls/openssl/openssl-server.c:664,10'
          Dst:             X509_STORE_add_cert
        - Src:             'lib/tls/openssl/openssl-server.c:665,6'
          Dst:             X509_STORE_free
        - Src:             'lib/tls/openssl/openssl-server.c:666,6'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:669,6'
          Dst:             SSL_CTX_set_cert_store
        - Src:             'lib/tls/openssl/openssl-server.c:670,36'
          Dst:             sk_X509_NAME_new_null
        - Src:             'lib/tls/openssl/openssl-server.c:672,31'
          Dst:             X509_get_subject_name
        - Src:             'lib/tls/openssl/openssl-server.c:674,34'
          Dst:             X509_NAME_dup
        - Src:             'lib/tls/openssl/openssl-server.c:674,8'
          Dst:             sk_X509_NAME_push
        - Src:             'lib/tls/openssl/openssl-server.c:675,7'
          Dst:             SSL_CTX_set_client_CA_list
        - Src:             'lib/tls/openssl/openssl-server.c:677,6'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:679,5'
          Dst:             X509_free
        - Src:             'lib/tls/openssl/openssl-server.c:681,4'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-server.c:688,3'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-server.c:696,3'
          Dst:             SSL_CTX_clear_options
        - Src:             'lib/tls/openssl/openssl-server.c:699,2'
          Dst:             SSL_CTX_get_options
        - Src:             'lib/tls/openssl/openssl-server.c:699,2'
          Dst:             _lws_log
    - functionName:    lws_tls_server_certs_load
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-server.c'
      linkageType:     InternalLinkage
      functionLinenumber: 176
      functionLinenumberEnd: 520
      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:         68
      ICount:          384
      EdgeCount:       92
      CyclomaticComplexity: 26
      functionsReached:
        - ERR_error_string
        - ERR_get_error
        - ERR_peek_error
        - SSL_CTX_check_private_key
        - SSL_CTX_use_PrivateKey_ASN1
        - SSL_CTX_use_PrivateKey_file
        - SSL_CTX_use_certificate_ASN1
        - SSL_CTX_use_certificate_chain_file
        - _lws_log
        - lws_realloc
        - lws_tls_alloc_pem_to_der_file
        - lws_tls_generic_cert_checks
        - lws_tls_resolve_grace_period_certs
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-server.c:207,7'
          Dst:             lws_tls_resolve_grace_period_certs
        - Src:             'lib/tls/openssl/openssl-server.c:215,15'
          Dst:             lws_tls_generic_cert_checks
        - Src:             'lib/tls/openssl/openssl-server.c:251,7'
          Dst:             SSL_CTX_use_certificate_chain_file
        - Src:             'lib/tls/openssl/openssl-server.c:255,12'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-server.c:256,25'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:256,8'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-server.c:258,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:265,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:269,8'
          Dst:             SSL_CTX_use_PrivateKey_file
        - Src:             'lib/tls/openssl/openssl-server.c:273,13'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-server.c:274,26'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-server.c:274,9'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-server.c:275,5'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:286,6'
          Dst:             lws_tls_alloc_pem_to_der_file
        - Src:             'lib/tls/openssl/openssl-server.c:288,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:294,8'
          Dst:             SSL_CTX_use_certificate_ASN1
        - Src:             'lib/tls/openssl/openssl-server.c:300,2'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-server.c:302,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:307,6'
          Dst:             lws_tls_alloc_pem_to_der_file
        - Src:             'lib/tls/openssl/openssl-server.c:310,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:316,8'
          Dst:             SSL_CTX_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-server.c:324,9'
          Dst:             SSL_CTX_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-server.c:337,2'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-server.c:339,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-server.c:430,7'
          Dst:             SSL_CTX_check_private_key
        - Src:             'lib/tls/openssl/openssl-server.c:431,3'
          Dst:             _lws_log
    - 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:    TLS_server_method
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_new
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_set_keylog_callback
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_set_ex_data
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SSL_CTX_set_options
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      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:          186
      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
        - lws_vhost_first
        - lws_vhost_next
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-server.c:114,7'
          Dst:             lws_vhost_first
        - Src:             'lib/tls/openssl/openssl-server.c:117,26'
          Dst:             SSL_get_SSL_CTX
        - Src:             'lib/tls/openssl/openssl-server.c:119,8'
          Dst:             lws_vhost_next
        - 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_vhost_first
      functionSourceFile: '/src/libwebsockets/lib/core/private-lib-core.h'
      linkageType:     InternalLinkage
      functionLinenumber: 923
      functionLinenumberEnd: 926
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_dll2_get_head
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/private-lib-core.h:924,23'
          Dst:             lws_dll2_get_head
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_tls_client_create_vhost_context
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 713
      functionLinenumberEnd: 1126
      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:         175
      ICount:          1185
      EdgeCount:       237
      CyclomaticComplexity: 64
      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_dll2_safe_next
        - _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:736,25'
          Dst:             TLS_client_method
        - Src:             'lib/tls/openssl/openssl-client.c:747,11'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-client.c:748,25'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-client.c:748,8'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-client.c:749,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:766,11'
          Dst:             EVP_MD_CTX_new
        - Src:             'lib/tls/openssl/openssl-client.c:770,31'
          Dst:             EVP_sha256
        - Src:             'lib/tls/openssl/openssl-client.c:770,6'
          Dst:             EVP_DigestInit_ex
        - Src:             'lib/tls/openssl/openssl-client.c:771,3'
          Dst:             EVP_MD_CTX_free
        - Src:             'lib/tls/openssl/openssl-client.c:777,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:782,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:788,6'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:787,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:791,41'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:791,4'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:796,7'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:795,4'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:803,39'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:803,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:808,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:812,40'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:812,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:815,42'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:815,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:819,6'
          Dst:             strlen
        - Src:             'lib/tls/openssl/openssl-client.c:818,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:821,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:824,3'
          Dst:             EVP_DigestUpdate
        - Src:             'lib/tls/openssl/openssl-client.c:827,2'
          Dst:             EVP_DigestFinal_ex
        - Src:             'lib/tls/openssl/openssl-client.c:828,2'
          Dst:             EVP_MD_CTX_free
        - Src:             'lib/tls/openssl/openssl-client.c:832,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/tls/openssl/openssl-client.c:836,8'
          Dst:             memcmp
        - Src:             'lib/tls/openssl/openssl-client.c:844,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:832,2'
          Dst:             _lws_dll2_safe_next
        - Src:             'lib/tls/openssl/openssl-client.c:854,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-client.c:855,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-client.c:856,27'
          Dst:             SSL_CTX_new
        - Src:             'lib/tls/openssl/openssl-client.c:861,11'
          Dst:             ERR_peek_error
        - Src:             'lib/tls/openssl/openssl-client.c:862,25'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-client.c:862,8'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-client.c:863,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:868,2'
          Dst:             SSL_CTX_set_ex_data
        - Src:             'lib/tls/openssl/openssl-client.c:872,2'
          Dst:             lws_plat_vhost_tls_client_ctx_init
        - Src:             'lib/tls/openssl/openssl-client.c:874,8'
          Dst:             lws_zalloc
        - Src:             'lib/tls/openssl/openssl-client.c:876,3'
          Dst:             SSL_CTX_free
        - Src:             'lib/tls/openssl/openssl-client.c:884,2'
          Dst:             lws_dll2_add_head
        - Src:             'lib/tls/openssl/openssl-client.c:886,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:896,3'
          Dst:             SSL_CTX_set_keylog_callback
        - Src:             'lib/tls/openssl/openssl-client.c:896,3'
          Dst:             lws_klog_dump
        - Src:             'lib/tls/openssl/openssl-client.c:902,2'
          Dst:             lws_tls_session_cache
        - Src:             'lib/tls/openssl/openssl-client.c:906,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-client.c:909,2'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-client.c:912,2'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-client.c:919,3'
          Dst:             SSL_CTX_set_options
        - Src:             'lib/tls/openssl/openssl-client.c:926,3'
          Dst:             SSL_CTX_clear_options
        - Src:             'lib/tls/openssl/openssl-client.c:930,13'
          Dst:             lws_strdup
        - Src:             'lib/tls/openssl/openssl-client.c:938,4'
          Dst:             SSL_CTX_set_cipher_list
        - Src:             'lib/tls/openssl/openssl-client.c:940,4'
          Dst:             SSL_CTX_set_ciphersuites
        - Src:             'lib/tls/openssl/openssl-client.c:942,4'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-client.c:946,4'
          Dst:             SSL_CTX_set_cipher_list
        - Src:             'lib/tls/openssl/openssl-client.c:950,4'
          Dst:             SSL_CTX_set_ciphersuites
        - Src:             'lib/tls/openssl/openssl-client.c:958,8'
          Dst:             SSL_CTX_ctrl
        - Src:             'lib/tls/openssl/openssl-client.c:960,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:962,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:966,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:974,3'
          Dst:             SSL_CTX_set_default_verify_paths
        - Src:             'lib/tls/openssl/openssl-client.c:983,8'
          Dst:             SSL_CTX_load_verify_locations
        - Src:             'lib/tls/openssl/openssl-client.c:986,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:995,8'
          Dst:             SSL_CTX_load_verify_locations
        - Src:             'lib/tls/openssl/openssl-client.c:998,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1002,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:1005,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1008,7'
          Dst:             lws_tls_client_vhost_ca_mem_parse
        - Src:             'lib/tls/openssl/openssl-client.c:1009,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1022,7'
          Dst:             lws_tls_use_any_upgrade_check_extant
        - Src:             'lib/tls/openssl/openssl-client.c:1027,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1029,7'
          Dst:             SSL_CTX_use_certificate_chain_file
        - Src:             'lib/tls/openssl/openssl-client.c:1032,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1034,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:1037,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1043,7'
          Dst:             lws_tls_alloc_pem_to_der_file
        - Src:             'lib/tls/openssl/openssl-client.c:1045,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1050,7'
          Dst:             SSL_CTX_use_certificate_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:1053,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1054,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:1057,3'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-client.c:1064,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1065,3'
          Dst:             lws_ssl_bind_passphrase
        - Src:             'lib/tls/openssl/openssl-client.c:1067,7'
          Dst:             SSL_CTX_use_PrivateKey_file
        - Src:             'lib/tls/openssl/openssl-client.c:1069,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1071,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:1074,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1078,8'
          Dst:             SSL_CTX_check_private_key
        - Src:             'lib/tls/openssl/openssl-client.c:1079,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1088,7'
          Dst:             lws_tls_alloc_pem_to_der_file
        - Src:             'lib/tls/openssl/openssl-client.c:1090,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:1095,7'
          Dst:             SSL_CTX_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:1103,8'
          Dst:             SSL_CTX_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:1112,3'
          Dst:             lws_realloc
        - Src:             'lib/tls/openssl/openssl-client.c:1115,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: 664
      functionLinenumberEnd: 697
      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:669,13'
          Dst:             d2i_X509
        - Src:             'lib/tls/openssl/openssl-client.c:674,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:675,3'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:679,7'
          Dst:             SSL_CTX_get_cert_store
        - Src:             'lib/tls/openssl/openssl-client.c:681,8'
          Dst:             X509_STORE_new
        - Src:             'lib/tls/openssl/openssl-client.c:683,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:684,4'
          Dst:             X509_free
        - Src:             'lib/tls/openssl/openssl-client.c:687,3'
          Dst:             SSL_CTX_set_cert_store
        - Src:             'lib/tls/openssl/openssl-client.c:690,6'
          Dst:             X509_STORE_add_cert
        - Src:             'lib/tls/openssl/openssl-client.c:692,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:694,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: 595
      functionLinenumberEnd: 658
      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:606,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-client.c:602,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-client.c:603,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-client.c:604,6'
          Dst:             SSL_get_verify_result
        - Src:             'lib/tls/openssl/openssl-client.c:633,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:641,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:646,7'
          Dst:             ERR_error_string
        - Src:             'lib/tls/openssl/openssl-client.c:647,2'
          Dst:             lws_snprintf
        - Src:             'lib/tls/openssl/openssl-client.c:650,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:651,2'
          Dst:             lws_tls_err_describe_clear
    - functionName:    lws_tls_client_connect
      functionSourceFile: '/src/libwebsockets/lib/tls/openssl/openssl-client.c'
      linkageType:     InternalLinkage
      functionLinenumber: 511
      functionLinenumberEnd: 591
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          222
      EdgeCount:       46
      CyclomaticComplexity: 14
      functionsReached:
        - ERR_clear_error
        - ERR_error_string_n
        - ERR_get_error
        - SSL_SESSION_set_time
        - SSL_connect
        - SSL_get_session
        - SSL_session_reused
        - SSL_want
        - __errno_location
        - _lws_log
        - lws_openssl_describe_cipher
        - lws_snprintf
        - lws_ssl_get_error
        - lws_tls_server_conn_alpn
        - time
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/tls/openssl/openssl-client.c:517,2'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-client.c:518,2'
          Dst:             ERR_clear_error
        - Src:             'lib/tls/openssl/openssl-client.c:520,6'
          Dst:             SSL_connect
        - Src:             'lib/tls/openssl/openssl-client.c:521,7'
          Dst:             __errno_location
        - Src:             'lib/tls/openssl/openssl-client.c:523,6'
          Dst:             lws_ssl_get_error
        - Src:             'lib/tls/openssl/openssl-client.c:531,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:533,3'
          Dst:             lws_snprintf
        - Src:             'lib/tls/openssl/openssl-client.c:538,7'
          Dst:             ERR_get_error
        - Src:             'lib/tls/openssl/openssl-client.c:539,7'
          Dst:             lws_snprintf
        - Src:             'lib/tls/openssl/openssl-client.c:541,4'
          Dst:             ERR_error_string_n
        - Src:             'lib/tls/openssl/openssl-client.c:546,6'
          Dst:             SSL_session_reused
        - Src:             'lib/tls/openssl/openssl-client.c:548,10'
          Dst:             SSL_get_session
        - Src:             'lib/tls/openssl/openssl-client.c:553,37'
          Dst:             time
        - Src:             'lib/tls/openssl/openssl-client.c:553,4'
          Dst:             SSL_SESSION_set_time
        - Src:             'lib/tls/openssl/openssl-client.c:559,34'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-client.c:562,35'
          Dst:             SSL_want
        - Src:             'lib/tls/openssl/openssl-client.c:573,3'
          Dst:             lws_tls_server_conn_alpn
        - Src:             'lib/tls/openssl/openssl-client.c:580,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:581,3'
          Dst:             lws_openssl_describe_cipher
        - Src:             'lib/tls/openssl/openssl-client.c:588,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:          372
      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
        - lws_vhost_first
      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:188,9'
          Dst:             lws_vhost_first
        - 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: 506
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         72
      ICount:          567
      EdgeCount:       98
      CyclomaticComplexity: 28
      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
        - strcmp
        - 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:404,24'
          Dst:             strcmp
        - Src:             'lib/tls/openssl/openssl-client.c:421,7'
          Dst:             lws_hdr_copy
        - Src:             'lib/tls/openssl/openssl-client.c:427,2'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:429,6'
          Dst:             lws_alpn_comma_to_openssl
        - Src:             'lib/tls/openssl/openssl-client.c:432,2'
          Dst:             SSL_set_alpn_protos
        - Src:             'lib/tls/openssl/openssl-client.c:435,2'
          Dst:             SSL_set_ex_data
        - Src:             'lib/tls/openssl/openssl-client.c:439,26'
          Dst:             lws_system_get_blob
        - Src:             'lib/tls/openssl/openssl-client.c:452,10'
          Dst:             lws_system_blob_get_size
        - Src:             'lib/tls/openssl/openssl-client.c:456,7'
          Dst:             lws_system_blob_get_single_ptr
        - Src:             'lib/tls/openssl/openssl-client.c:459,7'
          Dst:             SSL_use_certificate_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:461,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:462,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:466,7'
          Dst:             lws_system_get_blob
        - Src:             'lib/tls/openssl/openssl-client.c:472,10'
          Dst:             lws_system_blob_get_size
        - Src:             'lib/tls/openssl/openssl-client.c:476,7'
          Dst:             lws_system_blob_get_single_ptr
        - Src:             'lib/tls/openssl/openssl-client.c:479,7'
          Dst:             SSL_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:481,7'
          Dst:             SSL_use_PrivateKey_ASN1
        - Src:             'lib/tls/openssl/openssl-client.c:484,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:485,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:489,7'
          Dst:             SSL_check_private_key
        - Src:             'lib/tls/openssl/openssl-client.c:490,4'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:491,4'
          Dst:             lws_tls_err_describe_clear
        - Src:             'lib/tls/openssl/openssl-client.c:495,3'
          Dst:             _lws_log
        - Src:             'lib/tls/openssl/openssl-client.c:502,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_dll2_count
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - 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:         8
      ICount:          52
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - lws_dll2_get_head
        - lws_dll2_is_empty
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:567,5'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/core/buflist.c:570,29'
          Dst:             lws_dll2_get_head
    - functionName:    lws_dll2_is_empty
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 344
      functionLinenumberEnd: 345
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lws_dll2_count
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'include/libwebsockets/lws-dll2.h:345,10'
          Dst:             lws_dll2_count
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          21
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      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:          177
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - lws_buflist2_use_segment
        - lws_dll2_get_head
        - lws_dll2_is_empty
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:534,5'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/core/buflist.c:537,29'
          Dst:             lws_dll2_get_head
        - 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:          123
      EdgeCount:       22
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - lws_buflist2_destroy_segment
        - lws_buflist2_next_segment_len
        - lws_dll2_get_head
        - lws_dll2_is_empty
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:505,5'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/core/buflist.c:508,29'
          Dst:             lws_dll2_get_head
        - 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:          69
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lws_dll2_get_head
        - lws_dll2_is_empty
        - lws_dll2_remove
        - lws_realloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:446,5'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/core/buflist.c:449,31'
          Dst:             lws_dll2_get_head
        - 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
        - Src:             'lib/core/buflist.c:457,10'
          Dst:             lws_dll2_get_head
    - 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:          157
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - __assert_fail
        - lws_buflist2_destroy_segment
        - lws_dll2_get_head
        - lws_dll2_get_next
        - lws_dll2_is_empty
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:475,5'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/core/buflist.c:478,29'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/buflist.c:480,17'
          Dst:             lws_dll2_get_next
        - Src:             'lib/core/buflist.c:481,7'
          Dst:             lws_buflist2_destroy_segment
        - Src:             'lib/core/buflist.c:484,5'
          Dst:             lws_dll2_is_empty
        - Src:             'lib/core/buflist.c:487,29'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core/buflist.c:488,2'
          Dst:             __assert_fail
    - functionName:    lws_dll2_get_next
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 349
      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_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:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lws_buflist2_destroy_segment
        - lws_dll2_is_empty
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:463,9'
          Dst:             lws_dll2_is_empty
        - 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:          128
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_dll2_add_tail
        - lws_dll2_clear
        - lws_dll2_get_head
        - lws_realloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:410,15'
          Dst:             lws_dll2_get_head
        - 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:          137
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - _lws_log
        - lws_dll2_add_tail
        - lws_dll2_clear
        - lws_dll2_get_head
        - lws_realloc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core/buflist.c:371,15'
          Dst:             lws_dll2_get_head
        - 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:    _lws_dll2_owner_container
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 457
      functionLinenumberEnd: 459
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         7
      ICount:          36
      EdgeCount:       8
      CyclomaticComplexity: 3
      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:          145
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _lws_dll2_owner_container
        - lws_ser_ru16be
        - lws_ser_ru32be
        - write_ref_codeword
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/misc/dlo/dlo-font-mcufont.c:191,22'
          Dst:             _lws_dll2_owner_container
        - 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: 323
      functionLinenumberEnd: 323
      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:    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: 987
      functionLinenumberEnd: 1018
      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:999,16'
          Dst:             lwsac_use
        - Src:             'lib/misc/lejp.c:1004,7'
          Dst:             lwsac_use_zero
    - functionName:    lejp_string_unify
      functionSourceFile: '/src/libwebsockets/lib/misc/lejp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 964
      functionLinenumberEnd: 983
      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:970,15'
          Dst:             lwsac_use
    - functionName:    lejp_error_to_string
      functionSourceFile: '/src/libwebsockets/lib/misc/lejp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 950
      functionLinenumberEnd: 960
      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: 906
      functionLinenumberEnd: 931
      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:912,2'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:925,2'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:927,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: 935
      functionLinenumberEnd: 946
      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:940,2'
          Dst:             _lws_log
        - Src:             'lib/misc/lejp.c:943,2'
          Dst:             lejp_check_path_match
    - functionName:    lejp_parse
      functionSourceFile: '/src/libwebsockets/lib/misc/lejp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 901
      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:    5
      BranchProfiles:
        - Branch String:   'lib/misc/lejp.c:271,3'
          Branch Sides:    []
        - Branch String:   'lib/misc/lejp.c:392,4'
          Branch Sides:    []
        - Branch String:   'lib/misc/lejp.c:458,4'
          Branch Sides:    []
        - Branch String:   'lib/misc/lejp.c:649,4'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/misc/lejp.c:283,6'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:288,6'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:445,4'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:474,5'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:502,6'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:506,6'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:542,6'
          Dst:             lejp_parser_pop
        - Src:             'lib/misc/lejp.c:544,6'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:703,5'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:789,4'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:798,5'
          Dst:             lejp_parser_pop
        - Src:             'lib/misc/lejp.c:813,5'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:820,4'
          Dst:             lejp_check_path_match
        - Src:             'lib/misc/lejp.c:824,5'
          Dst:             lejp_parser_pop
    - functionName:    lejp_get_wildcard
      functionSourceFile: '/src/libwebsockets/lib/misc/lejp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 219
      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:    6
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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:         19
      ICount:          104
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_dll2_safe_next
        - 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:188,2'
          Dst:             _lws_dll2_safe_next
        - 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:    lws_callback_http_dummy
      functionSourceFile: '/src/libwebsockets/lib/core-net/dummy-callback.c'
      linkageType:     InternalLinkage
      functionLinenumber: 373
      functionLinenumberEnd: 1004
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          158
      EdgeCount:       34
      CyclomaticComplexity: 9
      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:387,2'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/core-net/dummy-callback.c:391,7'
          Dst:             lws_return_http_status
        - Src:             'lib/core-net/dummy-callback.c:394,7'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/core-net/dummy-callback.c:418,8'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/core-net/dummy-callback.c:422,7'
          Dst:             lws_return_http_status
        - Src:             'lib/core-net/dummy-callback.c:428,7'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/core-net/dummy-callback.c:582,4'
          Dst:             lws_write
        - Src:             'lib/core-net/dummy-callback.c:584,8'
          Dst:             lws_http_transaction_completed
        - Src:             'lib/core-net/dummy-callback.c:984,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/dummy-callback.c:984,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/dummy-callback.c:984,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:    24
      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: 428
      functionLinenumberEnd: 429
      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: 362
      functionLinenumberEnd: 391
      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:374,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:374,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:374,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/route.c:376,2'
          Dst:             _lws_routing_table_dump
        - Src:             'lib/core-net/route.c:380,9'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/route.c:384,7'
          Dst:             _lws_route_check_wsi
        - Src:             'lib/core-net/route.c:385,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/route.c:385,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:385,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/route.c:386,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: 316
      functionLinenumberEnd: 358
      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:332,7'
          Dst:             _lws_route_est_outgoing
        - Src:             'lib/core-net/route.c:334,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/route.c:334,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:334,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/route.c:340,2'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/route.c:346,7'
          Dst:             _lws_route_find_source
        - Src:             'lib/core-net/route.c:348,3'
          Dst:             lws_sa46_write_numeric_address
        - Src:             'lib/core-net/route.c:350,3'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/route.c:350,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:350,3'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/route.c:355,2'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/route.c:355,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:355,2'
          Dst:             lws_log_prepend_wsi
    - functionName:    _lws_route_est_outgoing
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 231
      functionLinenumberEnd: 286
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          184
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - _lws_log_cx
        - lws_dll2_get_head
        - lws_log_prepend_context
        - lws_route_gw_usable
        - lws_sa46_on_net
        - lwsl_context_get_cx
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:236,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:236,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:236,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/route.c:248,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/route.c:255,8'
          Dst:             lws_sa46_on_net
        - Src:             'lib/core-net/route.c:263,3'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:263,3'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:263,3'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/route.c:268,7'
          Dst:             lws_route_gw_usable
        - Src:             'lib/core-net/route.c:270,4'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:270,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:270,4'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/route.c:283,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:283,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:283,2'
          Dst:             lws_log_prepend_context
    - functionName:    _lws_route_find_source
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 295
      functionLinenumberEnd: 312
      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:296,2'
          Dst:             lws_dll2_get_head
        - Src:             'lib/core-net/route.c:303,8'
          Dst:             lws_sa46_compare_ads
    - functionName:    lws_dll2_get_head
      functionSourceFile: '/src/libwebsockets/include/libwebsockets/lws-dll2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 323
      functionLinenumberEnd: 323
      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_route_gw_usable
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 216
      functionLinenumberEnd: 226
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          93
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - lws_sa46_is_ipv4_mapped
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/core-net/route.c:222,11'
          Dst:             lws_sa46_is_ipv4_mapped
        - Src:             'lib/core-net/route.c:223,11'
          Dst:             lws_sa46_is_ipv4_mapped
    - 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:         19
      ICount:          114
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_dll2_safe_next
        - 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
        - Src:             'lib/core-net/route.c:188,2'
          Dst:             _lws_dll2_safe_next
    - 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:         19
      ICount:          107
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - _lws_dll2_safe_next
        - 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
        - Src:             'lib/core-net/route.c:175,2'
          Dst:             _lws_dll2_safe_next
    - functionName:    _lws_route_pt_close_route_users
      functionSourceFile: '/src/libwebsockets/lib/core-net/route.c'
      linkageType:     InternalLinkage
      functionLinenumber: 396
      functionLinenumberEnd: 423
      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:403,2'
          Dst:             lwsl_context_get_cx
        - Src:             'lib/core-net/route.c:403,2'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:403,2'
          Dst:             lws_log_prepend_context
        - Src:             'lib/core-net/route.c:406,9'
          Dst:             wsi_from_fd
        - Src:             'lib/core-net/route.c:417,4'
          Dst:             lwsl_wsi_get_cx
        - Src:             'lib/core-net/route.c:417,4'
          Dst:             _lws_log_cx
        - Src:             'lib/core-net/route.c:417,4'
          Dst:             lws_log_prepend_wsi
        - Src:             'lib/core-net/route.c:418,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:         41
      ICount:          246
      EdgeCount:       55
      CyclomaticComplexity: 16
      functionsReached:
        - _lws_dll2_safe_next
        - _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
        - Src:             'lib/core-net/route.c:144,2'
          Dst:             _lws_dll2_safe_next
    - 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: 271
      functionLinenumberEnd: 337
      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:287,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/cookie.c:279,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:323,5'
          Dst:             _lws_log
    - functionName:    lws_cookie_parse_date
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 205
      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:132,3'
          Branch Sides:    []
      Callsites:
        - Src:             'lib/roles/http/cookie.c:128,7'
          Dst:             __ctype_b_loc
        - Src:             'lib/roles/http/cookie.c:135,20'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:138,19'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:141,19'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:153,20'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:160,20'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:181,20'
          Dst:             atoi
        - Src:             'lib/roles/http/cookie.c:199,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: 249
      functionLinenumberEnd: 267
      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:    3
      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: 500
      functionLinenumberEnd: 675
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         85
      ICount:          560
      EdgeCount:       115
      CyclomaticComplexity: 32
      functionsReached:
        - _lws_log
        - lws_cache_item_get
        - lws_cache_lookup
        - lws_cache_results_walk
        - lws_cookie_domain_len
        - lws_cookie_is_ip_literal
        - 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:523,4'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/http/cookie.c:531,16'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/cookie.c:534,17'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/cookie.c:536,14'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/cookie.c:548,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:556,13'
          Dst:             strlen
        - Src:             'lib/roles/http/cookie.c:559,20'
          Dst:             memchr
        - Src:             'lib/roles/http/cookie.c:570,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:586,9'
          Dst:             lws_cookie_domain_len
        - Src:             'lib/roles/http/cookie.c:585,12'
          Dst:             lws_cookie_is_ip_literal
        - Src:             'lib/roles/http/cookie.c:591,16'
          Dst:             lws_cookie_domain_len
        - Src:             'lib/roles/http/cookie.c:592,23'
          Dst:             memchr
        - Src:             'lib/roles/http/cookie.c:598,16'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/cookie.c:616,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:618,8'
          Dst:             lws_cache_lookup
        - Src:             'lib/roles/http/cookie.c:621,12'
          Dst:             lws_cache_results_walk
        - Src:             'lib/roles/http/cookie.c:622,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:625,9'
          Dst:             lws_cache_item_get
        - Src:             'lib/roles/http/cookie.c:627,6'
          Dst:             lws_cookie_parse_nsc
        - Src:             'lib/roles/http/cookie.c:628,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:634,6'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:662,3'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/cookie.c:672,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_is_ip_literal
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 117
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          105
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lws_cookie_send_cookies
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 860
      functionLinenumberEnd: 913
      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:867,9'
          Dst:             lws_cookie_attach_cookies
        - Src:             'lib/roles/http/cookie.c:872,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:876,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:882,6'
          Dst:             lws_add_http_header_by_token
        - Src:             'lib/roles/http/cookie.c:892,6'
          Dst:             lws_wsi_is_h2
        - Src:             'lib/roles/http/cookie.c:902,6'
          Dst:             lws_cookie_attach_cookies
        - Src:             'lib/roles/http/cookie.c:903,3'
          Dst:             _lws_log
    - functionName:    lws_cookie_write_nsc
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 341
      functionLinenumberEnd: 496
      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:351,17'
          Dst:             time
        - Src:             'lib/roles/http/cookie.c:362,36'
          Dst:             lws_get_network_wsi
        - Src:             'lib/roles/http/cookie.c:367,9'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/cookie.c:369,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/cookie.c:370,10'
          Dst:             lws_hdr_simple_ptr
        - Src:             'lib/roles/http/cookie.c:376,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:387,21'
          Dst:             lws_cookie_domain_len
        - Src:             'lib/roles/http/cookie.c:392,19'
          Dst:             strlen
        - Src:             'lib/roles/http/cookie.c:393,16'
          Dst:             memchr
        - Src:             'lib/roles/http/cookie.c:399,15'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/cookie.c:403,6'
          Dst:             lws_cookie_compile_cache_name
        - Src:             'lib/roles/http/cookie.c:409,6'
          Dst:             lws_cookie_parse_date
        - Src:             'lib/roles/http/cookie.c:410,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:417,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:421,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:430,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:431,9'
          Dst:             lws_cache_item_remove
        - Src:             'lib/roles/http/cookie.c:437,26'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/cookie.c:439,3'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:445,2'
          Dst:             lws_snprintf
        - Src:             'lib/roles/http/cookie.c:454,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:455,2'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:462,15'
          Dst:             lws_now_usecs
        - Src:             'lib/roles/http/cookie.c:469,6'
          Dst:             strlen
        - Src:             'lib/roles/http/cookie.c:467,6'
          Dst:             lws_cache_write_through
        - Src:             'lib/roles/http/cookie.c:492,2'
          Dst:             lws_realloc
        - Src:             'lib/roles/http/cookie.c:493,2'
          Dst:             lws_realloc
    - functionName:    is_iprefix
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 245
      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: 209
      functionLinenumberEnd: 231
      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:214,3'
          Dst:             _lws_log
    - functionName:    lws_parse_set_cookie
      functionSourceFile: '/src/libwebsockets/lib/roles/http/cookie.c'
      linkageType:     InternalLinkage
      functionLinenumber: 699
      functionLinenumberEnd: 856
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         83
      ICount:          664
      EdgeCount:       113
      CyclomaticComplexity: 32
      functionsReached:
        - _lws_log
        - is_iprefix
        - lws_cookie_is_ip_literal
        - lws_cookie_rm_sws
        - lws_cookie_write_nsc
        - memchr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'lib/roles/http/cookie.c:733,21'
          Dst:             memchr
        - Src:             'lib/roles/http/cookie.c:757,17'
          Dst:             memchr
        - Src:             'lib/roles/http/cookie.c:764,4'
          Dst:             lws_cookie_rm_sws
        - Src:             'lib/roles/http/cookie.c:769,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:776,4'
          Dst:             lws_cookie_rm_sws
        - Src:             'lib/roles/http/cookie.c:781,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:798,10'
          Dst:             is_iprefix
        - Src:             'lib/roles/http/cookie.c:816,6'
          Dst:             lws_cookie_rm_sws
        - Src:             'lib/roles/http/cookie.c:828,5'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:844,7'
          Dst:             lws_cookie_is_ip_literal
        - Src:             'lib/roles/http/cookie.c:845,4'
          Dst:             _lws_log
        - Src:             'lib/roles/http/cookie.c:851,7'
          Dst:             lws_cookie_write_nsc
        - Src:             'lib/roles/http/cookie.c:852,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
...
