---
Fuzzer filename: '/src/inspector/source-code/src/libusb_fuzzer.cc'
All functions:
  Function list name: All functions
  Elements:
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _ZL18libusb_cpu_to_le16t
      functionSourceFile: '/src/libusb/./libusb/libusb.h'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __cxa_allocate_exception
      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:    _ZNSt20bad_array_new_lengthC1Ev
      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:    _ZNSt20bad_array_new_lengthD1Ev
      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:    __cxa_throw
      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:    __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:    __clang_call_terminate
      functionSourceFile: ''
      linkageType:     WeakODRLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          3
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached:
        - __cxa_begin_catch
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    __cxa_begin_catch
      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:    __cxa_end_catch
      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:    _ZL18usbi_mutex_destroyP15pthread_mutex_t
      functionSourceFile: '/src/libusb/./libusb/os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          28
      EdgeCount:       7
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_mutex_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './libusb/os/threads_posix.h:62,2'
          Dst:             pthread_mutex_destroy
        - Src:             './libusb/os/threads_posix.h:62,2'
          Dst:             __assert_fail
    - 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:    4
      BranchProfiles:  []
      Callsites:       []
    - 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:    61
      BranchProfiles:  []
      Callsites:       []
    - functionName:    _ZL25libusb_fill_control_setupPhhhttt
      functionSourceFile: '/src/libusb/./libusb/libusb.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1951
      functionLinenumberEnd: 1958
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - char
        - char
        - short
        - short
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          49
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - _ZL18libusb_cpu_to_le16t
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './libusb/libusb.h:1955,18'
          Dst:             _ZL18libusb_cpu_to_le16t
        - Src:             './libusb/libusb.h:1956,18'
          Dst:             _ZL18libusb_cpu_to_le16t
        - Src:             './libusb/libusb.h:1957,19'
          Dst:             _ZL18libusb_cpu_to_le16t
    - functionName:    LLVMFuzzerTestOneInput
      functionSourceFile: '/src/inspector/source-code/src/libusb_fuzzer.cc'
      linkageType:     externalLinkage
      functionLinenumber: 23
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          112
      EdgeCount:       19
      CyclomaticComplexity: 10
      functionsReached:
        - _ZL18usbi_mutex_destroyP15pthread_mutex_t
        - _ZL25libusb_fill_control_setupPhhhttt
        - libusb_alloc_transfer
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'inspector/source-code/src/libusb_fuzzer.cc:34,14'
          Dst:             libusb_alloc_transfer
        - Src:             'inspector/source-code/src/libusb_fuzzer.cc:39,3'
          Dst:             _ZL25libusb_fill_control_setupPhhhttt
        - Src:             'inspector/source-code/src/libusb_fuzzer.cc:45,3'
          Dst:             _ZL18usbi_mutex_destroyP15pthread_mutex_t
    - functionName:    list_splice_front
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 263
      functionLinenumberEnd: 268
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          36
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    list_cut
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 248
      functionLinenumberEnd: 260
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          57
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - list_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './libusbi.h:250,3'
          Dst:             list_init
        - Src:             './libusbi.h:259,2'
          Dst:             list_init
    - functionName:    list_init
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_tls_key_set
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_setspecific
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:98,2'
          Dst:             pthread_setspecific
        - Src:             './os/threads_posix.h:98,2'
          Dst:             __assert_fail
    - functionName:    pthread_setspecific
      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:    usbi_tls_key_get
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pthread_getspecific
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:94,9'
          Dst:             pthread_getspecific
    - functionName:    pthread_getspecific
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_end_event_handling
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 515
      functionLinenumberEnd: 517
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - usbi_tls_key_set
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './libusbi.h:516,2'
          Dst:             usbi_tls_key_set
    - functionName:    handle_timer_trigger
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2197
      functionLinenumberEnd: 2210
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - arm_timer_for_next_timeout
        - handle_timeouts_locked
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:2200,2'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:2203,2'
          Dst:             handle_timeouts_locked
        - Src:             'io.c:2206,6'
          Dst:             arm_timer_for_next_timeout
        - Src:             'io.c:2208,2'
          Dst:             usbi_mutex_unlock
    - functionName:    usbi_mutex_lock
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_mutex_lock
      functionUses:    27
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:49,2'
          Dst:             pthread_mutex_lock
        - Src:             './os/threads_posix.h:49,2'
          Dst:             __assert_fail
    - functionName:    handle_timeouts_locked
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2074
      functionLinenumberEnd: 2104
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         25
      ICount:          135
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - handle_timeout
        - usbi_get_monotonic_time
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:2082,2'
          Dst:             usbi_get_monotonic_time
        - Src:             'io.c:2102,3'
          Dst:             handle_timeout
    - functionName:    arm_timer_for_next_timeout
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1358
      functionLinenumberEnd: 1384
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          114
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - usbi_arm_timer
        - usbi_disarm_timer
        - usbi_log
        - usbi_using_timer
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:1361,7'
          Dst:             usbi_using_timer
        - Src:             'io.c:1376,4'
          Dst:             usbi_log
        - Src:             'io.c:1378,11'
          Dst:             usbi_arm_timer
        - Src:             'io.c:1382,2'
          Dst:             usbi_log
        - Src:             'io.c:1383,9'
          Dst:             usbi_disarm_timer
    - functionName:    usbi_mutex_unlock
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_mutex_unlock
      functionUses:    34
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:53,2'
          Dst:             pthread_mutex_unlock
        - Src:             './os/threads_posix.h:53,2'
          Dst:             __assert_fail
    - 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:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_using_timer
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 893
      functionLinenumberEnd: 895
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - usbi_timer_valid
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             './libusbi.h:895,9'
          Dst:             usbi_timer_valid
    - functionName:    usbi_timer_valid
      functionSourceFile: '/src/libusb/libusb/./os/events_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_get_monotonic_time
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 562
      functionLinenumberEnd: 564
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - clock_gettime
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './libusbi.h:563,2'
          Dst:             clock_gettime
        - Src:             './libusbi.h:563,2'
          Dst:             __assert_fail
    - functionName:    handle_timeout
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2055
      functionLinenumberEnd: 2070
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          91
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - libusb_cancel_transfer
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:2061,6'
          Dst:             libusb_cancel_transfer
        - Src:             'io.c:2065,3'
          Dst:             usbi_log
        - Src:             'io.c:2068,3'
          Dst:             usbi_log
    - functionName:    libusb_cancel_transfer
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1612
      functionLinenumberEnd: 1641
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          138
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:1618,2'
          Dst:             usbi_log
        - Src:             'io.c:1619,2'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:1629,4'
          Dst:             usbi_log
        - Src:             'io.c:1631,4'
          Dst:             usbi_log
        - Src:             'io.c:1640,2'
          Dst:             usbi_mutex_unlock
    - 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:    3
      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:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    handle_event_trigger
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2115
      functionLinenumberEnd: 2192
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         46
      ICount:          301
      EdgeCount:       58
      CyclomaticComplexity: 14
      functionsReached:
        - __assert_fail
        - list_cut
        - list_del
        - list_init
        - list_splice_front
        - usbi_clear_event
        - usbi_hotplug_process
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:2120,2'
          Dst:             usbi_log
        - Src:             'io.c:2122,2'
          Dst:             list_init
        - Src:             'io.c:2125,2'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:2129,3'
          Dst:             usbi_log
        - Src:             'io.c:2132,3'
          Dst:             usbi_log
        - Src:             'io.c:2137,3'
          Dst:             usbi_log
        - Src:             'io.c:2144,3'
          Dst:             usbi_log
        - Src:             'io.c:2148,3'
          Dst:             usbi_log
        - Src:             'io.c:2151,3'
          Dst:             __assert_fail
        - Src:             'io.c:2152,3'
          Dst:             list_cut
        - Src:             'io.c:2160,3'
          Dst:             __assert_fail
        - Src:             'io.c:2161,3'
          Dst:             list_cut
        - Src:             'io.c:2162,3'
          Dst:             usbi_mutex_unlock
        - Src:             'io.c:2165,4'
          Dst:             list_del
        - Src:             'io.c:2168,5'
          Dst:             usbi_log
        - Src:             'io.c:2173,3'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:2176,4'
          Dst:             list_splice_front
        - Src:             'io.c:2184,3'
          Dst:             usbi_clear_event
        - Src:             'io.c:2186,2'
          Dst:             usbi_mutex_unlock
        - Src:             'io.c:2190,3'
          Dst:             usbi_hotplug_process
    - functionName:    list_del
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 241
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          28
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_start_event_handling
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 510
      functionLinenumberEnd: 512
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - usbi_tls_key_set
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './libusbi.h:511,2'
          Dst:             usbi_tls_key_set
    - functionName:    usbi_handling_events
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 505
      functionLinenumberEnd: 506
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - usbi_tls_key_get
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './libusbi.h:506,9'
          Dst:             usbi_tls_key_get
    - functionName:    list_add
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 222
      functionLinenumberEnd: 228
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          28
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    calculate_timeout
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1248
      functionLinenumberEnd: 1265
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          87
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - usbi_get_monotonic_time
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:1257,2'
          Dst:             usbi_get_monotonic_time
    - functionName:    usbi_handle_disconnect
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2823
      functionLinenumberEnd: 2874
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          146
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - usbi_handle_transfer_completion
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:2827,2'
          Dst:             usbi_log
        - Src:             'io.c:2845,3'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:2849,5'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:2852,5'
          Dst:             usbi_mutex_unlock
        - Src:             'io.c:2858,3'
          Dst:             usbi_mutex_unlock
        - Src:             'io.c:2865,3'
          Dst:             usbi_log
        - Src:             'io.c:2869,3'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:2871,3'
          Dst:             usbi_mutex_unlock
        - Src:             'io.c:2872,3'
          Dst:             usbi_handle_transfer_completion
    - functionName:    usbi_handle_transfer_completion
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1691
      functionLinenumberEnd: 1734
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         29
      ICount:          213
      EdgeCount:       37
      CyclomaticComplexity: 10
      functionsReached:
        - __assert_fail
        - libusb_free_transfer
        - libusb_lock_event_waiters
        - libusb_unlock_event_waiters
        - remove_from_flying_list
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:1698,2'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:1699,6'
          Dst:             remove_from_flying_list
        - Src:             'io.c:1700,2'
          Dst:             usbi_mutex_unlock
        - Src:             'io.c:1702,3'
          Dst:             usbi_log
        - Src:             'io.c:1704,2'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:1706,2'
          Dst:             usbi_mutex_unlock
        - Src:             'io.c:1714,4'
          Dst:             usbi_log
        - Src:             'io.c:1722,2'
          Dst:             __assert_fail
        - Src:             'io.c:1723,2'
          Dst:             usbi_log
        - Src:             'io.c:1726,3'
          Dst:             libusb_lock_event_waiters
        - Src:             'io.c:1728,3'
          Dst:             libusb_unlock_event_waiters
        - Src:             'io.c:1733,3'
          Dst:             libusb_free_transfer
    - functionName:    remove_from_flying_list
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1463
      functionLinenumberEnd: 1474
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          93
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - arm_timer_for_next_timeout
        - list_del
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:1470,2'
          Dst:             list_del
        - Src:             'io.c:1472,7'
          Dst:             arm_timer_for_next_timeout
    - functionName:    libusb_lock_event_waiters
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1990
      functionLinenumberEnd: 1993
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - usbi_get_context
        - usbi_mutex_lock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:1991,8'
          Dst:             usbi_get_context
        - Src:             'io.c:1992,2'
          Dst:             usbi_mutex_lock
    - functionName:    libusb_unlock_event_waiters
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2001
      functionLinenumberEnd: 2004
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - usbi_get_context
        - usbi_mutex_unlock
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:2002,8'
          Dst:             usbi_get_context
        - Src:             'io.c:2003,2'
          Dst:             usbi_mutex_unlock
    - functionName:    libusb_free_transfer
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1333
      functionLinenumberEnd: 1349
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          113
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - __assert_fail
        - libusb_unref_device
        - usbi_log
        - usbi_mutex_destroy
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:1337,2'
          Dst:             usbi_log
        - Src:             'io.c:1342,2'
          Dst:             usbi_mutex_destroy
        - Src:             'io.c:1344,3'
          Dst:             libusb_unref_device
        - Src:             'io.c:1347,2'
          Dst:             __assert_fail
    - functionName:    usbi_mutex_destroy
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_mutex_destroy
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:62,2'
          Dst:             pthread_mutex_destroy
        - Src:             './os/threads_posix.h:62,2'
          Dst:             __assert_fail
    - functionName:    usbi_get_context
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 467
      functionLinenumberEnd: 480
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          59
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - usbi_log
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             './libusbi.h:476,4'
          Dst:             usbi_log
    - functionName:    libusb_free_pollfds
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2810
      functionLinenumberEnd: 2816
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_get_pollfds
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2763
      functionLinenumberEnd: 2790
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          102
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - calloc
        - usbi_get_context
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:2772,8'
          Dst:             usbi_get_context
        - Src:             'io.c:2774,2'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:2780,33'
          Dst:             calloc
        - Src:             'io.c:2789,2'
          Dst:             usbi_mutex_unlock
    - functionName:    calloc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    21
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_event_source_notification
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2676
      functionLinenumberEnd: 2685
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - usbi_signal_event
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:2684,3'
          Dst:             usbi_signal_event
    - functionName:    libusb_set_pollfd_notifiers
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2656
      functionLinenumberEnd: 2669
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - usbi_get_context
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:2658,8'
          Dst:             usbi_get_context
    - functionName:    libusb_get_next_timeout
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2583
      functionLinenumberEnd: 2630
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         39
      ICount:          257
      EdgeCount:       51
      CyclomaticComplexity: 14
      functionsReached:
        - usbi_get_context
        - usbi_get_monotonic_time
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
        - usbi_using_timer
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:2588,8'
          Dst:             usbi_get_context
        - Src:             'io.c:2589,6'
          Dst:             usbi_using_timer
        - Src:             'io.c:2592,2'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:2594,3'
          Dst:             usbi_mutex_unlock
        - Src:             'io.c:2595,3'
          Dst:             usbi_log
        - Src:             'io.c:2611,2'
          Dst:             usbi_mutex_unlock
        - Src:             'io.c:2614,3'
          Dst:             usbi_log
        - Src:             'io.c:2618,2'
          Dst:             usbi_get_monotonic_time
        - Src:             'io.c:2621,3'
          Dst:             usbi_log
        - Src:             'io.c:2626,3'
          Dst:             usbi_log
    - functionName:    libusb_pollfds_handle_timeouts
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2548
      functionLinenumberEnd: 2550
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - usbi_get_context
        - usbi_using_timer
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:2549,8'
          Dst:             usbi_get_context
        - Src:             'io.c:2550,9'
          Dst:             usbi_using_timer
    - functionName:    libusb_handle_events_locked
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2501
      functionLinenumberEnd: 2517
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          76
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - get_next_timeout
        - handle_events
        - handle_timeouts
        - usbi_get_context
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:2508,8'
          Dst:             usbi_get_context
        - Src:             'io.c:2509,6'
          Dst:             get_next_timeout
        - Src:             'io.c:2512,3'
          Dst:             handle_timeouts
        - Src:             'io.c:2516,9'
          Dst:             handle_events
    - functionName:    get_next_timeout
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2310
      functionLinenumberEnd: 2327
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          108
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - libusb_get_next_timeout
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:2312,10'
          Dst:             libusb_get_next_timeout
    - functionName:    handle_timeouts
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2107
      functionLinenumberEnd: 2112
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - handle_timeouts_locked
        - usbi_get_context
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:2108,8'
          Dst:             usbi_get_context
        - Src:             'io.c:2109,2'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:2110,2'
          Dst:             handle_timeouts_locked
        - Src:             'io.c:2111,2'
          Dst:             usbi_mutex_unlock
    - functionName:    handle_events
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2217
      functionLinenumberEnd: 2300
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         38
      ICount:          244
      EdgeCount:       51
      CyclomaticComplexity: 15
      functionsReached:
        - cleanup_removed_event_sources
        - handle_event_trigger
        - handle_timeouts
        - handle_timer_trigger
        - usbi_alloc_event_data
        - usbi_clear_event
        - usbi_end_event_handling
        - usbi_handling_events
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
        - usbi_start_event_handling
        - usbi_wait_for_events
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:2223,6'
          Dst:             usbi_handling_events
        - Src:             'io.c:2229,2'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:2231,3'
          Dst:             usbi_log
        - Src:             'io.c:2234,3'
          Dst:             cleanup_removed_event_sources
        - Src:             'io.c:2236,7'
          Dst:             usbi_alloc_event_data
        - Src:             'io.c:2238,4'
          Dst:             usbi_mutex_unlock
        - Src:             'io.c:2248,4'
          Dst:             usbi_clear_event
        - Src:             'io.c:2250,2'
          Dst:             usbi_mutex_unlock
        - Src:             'io.c:2260,2'
          Dst:             usbi_start_event_handling
        - Src:             'io.c:2262,6'
          Dst:             usbi_wait_for_events
        - Src:             'io.c:2265,4'
          Dst:             handle_timeouts
        - Src:             'io.c:2272,7'
          Dst:             handle_event_trigger
        - Src:             'io.c:2281,7'
          Dst:             handle_timer_trigger
        - Src:             'io.c:2295,3'
          Dst:             usbi_log
        - Src:             'io.c:2298,2'
          Dst:             usbi_end_event_handling
    - functionName:    cleanup_removed_event_sources
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1218
      functionLinenumberEnd: 1225
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          55
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - list_del
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:1222,3'
          Dst:             list_del
    - functionName:    libusb_handle_events_completed
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2473
      functionLinenumberEnd: 2477
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - libusb_handle_events_timeout_completed
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:2477,9'
          Dst:             libusb_handle_events_timeout_completed
    - functionName:    libusb_handle_events_timeout_completed
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2359
      functionLinenumberEnd: 2411
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          183
      EdgeCount:       48
      CyclomaticComplexity: 14
      functionsReached:
        - get_next_timeout
        - handle_events
        - handle_timeouts
        - libusb_event_handler_active
        - libusb_lock_event_waiters
        - libusb_try_lock_events
        - libusb_unlock_event_waiters
        - libusb_unlock_events
        - libusb_wait_for_event
        - usbi_get_context
        - usbi_log
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:2366,8'
          Dst:             usbi_get_context
        - Src:             'io.c:2367,6'
          Dst:             get_next_timeout
        - Src:             'io.c:2370,3'
          Dst:             handle_timeouts
        - Src:             'io.c:2375,6'
          Dst:             libusb_try_lock_events
        - Src:             'io.c:2378,4'
          Dst:             usbi_log
        - Src:             'io.c:2379,8'
          Dst:             handle_events
        - Src:             'io.c:2381,3'
          Dst:             libusb_unlock_events
        - Src:             'io.c:2387,2'
          Dst:             libusb_lock_event_waiters
        - Src:             'io.c:2392,7'
          Dst:             libusb_event_handler_active
        - Src:             'io.c:2395,3'
          Dst:             libusb_unlock_event_waiters
        - Src:             'io.c:2396,3'
          Dst:             usbi_log
        - Src:             'io.c:2400,2'
          Dst:             usbi_log
        - Src:             'io.c:2401,6'
          Dst:             libusb_wait_for_event
        - Src:             'io.c:2404,2'
          Dst:             libusb_unlock_event_waiters
        - Src:             'io.c:2409,3'
          Dst:             handle_timeouts
    - functionName:    libusb_try_lock_events
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1803
      functionLinenumberEnd: 1825
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          62
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - usbi_get_context
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_trylock
        - usbi_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:1807,8'
          Dst:             usbi_get_context
        - Src:             'io.c:1811,2'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:1813,2'
          Dst:             usbi_mutex_unlock
        - Src:             'io.c:1815,3'
          Dst:             usbi_log
        - Src:             'io.c:1819,6'
          Dst:             usbi_mutex_trylock
    - functionName:    libusb_unlock_events
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1861
      functionLinenumberEnd: 1872
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - usbi_cond_broadcast
        - usbi_get_context
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:1862,8'
          Dst:             usbi_get_context
        - Src:             'io.c:1864,2'
          Dst:             usbi_mutex_unlock
        - Src:             'io.c:1869,2'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:1870,2'
          Dst:             usbi_cond_broadcast
        - Src:             'io.c:1871,2'
          Dst:             usbi_mutex_unlock
    - functionName:    libusb_event_handler_active
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1925
      functionLinenumberEnd: 1941
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - usbi_get_context
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:1928,8'
          Dst:             usbi_get_context
        - Src:             'io.c:1932,2'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:1934,2'
          Dst:             usbi_mutex_unlock
        - Src:             'io.c:1936,3'
          Dst:             usbi_log
    - functionName:    libusb_wait_for_event
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2033
      functionLinenumberEnd: 2051
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          91
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - usbi_cond_timedwait
        - usbi_cond_wait
        - usbi_get_context
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:2036,8'
          Dst:             usbi_get_context
        - Src:             'io.c:2038,3'
          Dst:             usbi_cond_wait
        - Src:             'io.c:2045,6'
          Dst:             usbi_cond_timedwait
    - functionName:    usbi_cond_wait
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 71
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_cond_wait
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:70,2'
          Dst:             pthread_cond_wait
        - Src:             './os/threads_posix.h:70,2'
          Dst:             __assert_fail
    - functionName:    pthread_cond_wait
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_cond_broadcast
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_cond_broadcast
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:80,2'
          Dst:             pthread_cond_broadcast
        - Src:             './os/threads_posix.h:80,2'
          Dst:             __assert_fail
    - functionName:    pthread_cond_broadcast
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_mutex_trylock
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pthread_mutex_trylock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:57,22'
          Dst:             pthread_mutex_trylock
    - functionName:    pthread_mutex_trylock
      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:    libusb_handle_events
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2450
      functionLinenumberEnd: 2454
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - libusb_handle_events_timeout_completed
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:2454,9'
          Dst:             libusb_handle_events_timeout_completed
    - functionName:    libusb_handle_events_timeout
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2431
      functionLinenumberEnd: 2432
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - libusb_handle_events_timeout_completed
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:2432,9'
          Dst:             libusb_handle_events_timeout_completed
    - functionName:    libusb_interrupt_event_handler
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1954
      functionLinenumberEnd: 1968
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - usbi_get_context
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
        - usbi_signal_event
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:1957,2'
          Dst:             usbi_log
        - Src:             'io.c:1959,8'
          Dst:             usbi_get_context
        - Src:             'io.c:1960,2'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:1965,3'
          Dst:             usbi_signal_event
        - Src:             'io.c:1967,2'
          Dst:             usbi_mutex_unlock
    - functionName:    libusb_event_handling_ok
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1896
      functionLinenumberEnd: 1912
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - usbi_get_context
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:1899,8'
          Dst:             usbi_get_context
        - Src:             'io.c:1903,2'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:1905,2'
          Dst:             usbi_mutex_unlock
        - Src:             'io.c:1907,3'
          Dst:             usbi_log
    - functionName:    libusb_lock_events
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1846
      functionLinenumberEnd: 1850
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - usbi_get_context
        - usbi_mutex_lock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:1847,8'
          Dst:             usbi_get_context
        - Src:             'io.c:1848,2'
          Dst:             usbi_mutex_lock
    - functionName:    list_add_tail
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 232
      functionLinenumberEnd: 238
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          28
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_signal_transfer_completion
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1766
      functionLinenumberEnd: 1781
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - list_add_tail
        - usbi_mutex_lock
        - usbi_mutex_unlock
        - usbi_signal_event
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:1773,3'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:1776,3'
          Dst:             list_add_tail
        - Src:             'io.c:1778,4'
          Dst:             usbi_signal_event
        - Src:             'io.c:1779,3'
          Dst:             usbi_mutex_unlock
    - functionName:    usbi_handle_transfer_cancellation
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1744
      functionLinenumberEnd: 1760
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          69
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - usbi_handle_transfer_completion
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:1748,2'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:1750,2'
          Dst:             usbi_mutex_unlock
        - Src:             'io.c:1754,3'
          Dst:             usbi_log
        - Src:             'io.c:1755,10'
          Dst:             usbi_handle_transfer_completion
        - Src:             'io.c:1759,9'
          Dst:             usbi_handle_transfer_completion
    - functionName:    libusb_transfer_get_stream_id
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1674
      functionLinenumberEnd: 1678
      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:    libusb_transfer_set_stream_id
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1657
      functionLinenumberEnd: 1662
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    add_to_flying_list
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1398
      functionLinenumberEnd: 1454
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         44
      ICount:          274
      EdgeCount:       59
      CyclomaticComplexity: 17
      functionsReached:
        - calculate_timeout
        - list_add
        - list_add_tail
        - list_del
        - usbi_arm_timer
        - usbi_log
        - usbi_using_timer
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:1405,2'
          Dst:             calculate_timeout
        - Src:             'io.c:1409,3'
          Dst:             list_add
        - Src:             'io.c:1415,3'
          Dst:             list_add_tail
        - Src:             'io.c:1426,4'
          Dst:             list_add_tail
        - Src:             'io.c:1434,2'
          Dst:             list_add_tail
        - Src:             'io.c:1437,15'
          Dst:             usbi_using_timer
        - Src:             'io.c:1442,3'
          Dst:             usbi_log
        - Src:             'io.c:1445,7'
          Dst:             usbi_arm_timer
        - Src:             'io.c:1452,3'
          Dst:             list_del
    - functionName:    libusb_submit_transfer
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1492
      functionLinenumberEnd: 1573
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          187
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - __assert_fail
        - add_to_flying_list
        - libusb_ref_device
        - libusb_unref_device
        - remove_from_flying_list
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:1498,2'
          Dst:             __assert_fail
        - Src:             'io.c:1500,3'
          Dst:             libusb_unref_device
        - Src:             'io.c:1501,19'
          Dst:             libusb_ref_device
        - Src:             'io.c:1504,2'
          Dst:             usbi_log
        - Src:             'io.c:1538,2'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:1539,2'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:1541,3'
          Dst:             usbi_mutex_unlock
        - Src:             'io.c:1542,3'
          Dst:             usbi_mutex_unlock
        - Src:             'io.c:1548,6'
          Dst:             add_to_flying_list
        - Src:             'io.c:1550,3'
          Dst:             usbi_mutex_unlock
        - Src:             'io.c:1551,3'
          Dst:             usbi_mutex_unlock
        - Src:             'io.c:1558,2'
          Dst:             usbi_mutex_unlock
        - Src:             'io.c:1564,2'
          Dst:             usbi_mutex_unlock
        - Src:             'io.c:1567,3'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:1568,3'
          Dst:             remove_from_flying_list
        - Src:             'io.c:1569,3'
          Dst:             usbi_mutex_unlock
    - functionName:    libusb_alloc_transfer
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1293
      functionLinenumberEnd: 1313
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          91
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - calloc
        - usbi_mutex_init
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:1294,2'
          Dst:             __assert_fail
        - Src:             'io.c:1303,40'
          Dst:             calloc
        - Src:             'io.c:1309,2'
          Dst:             usbi_mutex_init
    - functionName:    usbi_mutex_init
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_mutex_init
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:45,2'
          Dst:             pthread_mutex_init
        - Src:             './os/threads_posix.h:45,2'
          Dst:             __assert_fail
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_io_exit
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1228
      functionLinenumberEnd: 1245
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          69
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - cleanup_removed_event_sources
        - usbi_cond_destroy
        - usbi_destroy_event
        - usbi_destroy_timer
        - usbi_mutex_destroy
        - usbi_remove_event_source
        - usbi_tls_key_delete
        - usbi_using_timer
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:1230,6'
          Dst:             usbi_using_timer
        - Src:             'io.c:1231,3'
          Dst:             usbi_remove_event_source
        - Src:             'io.c:1232,3'
          Dst:             usbi_destroy_timer
        - Src:             'io.c:1235,2'
          Dst:             usbi_remove_event_source
        - Src:             'io.c:1236,2'
          Dst:             usbi_destroy_event
        - Src:             'io.c:1237,2'
          Dst:             usbi_mutex_destroy
        - Src:             'io.c:1238,2'
          Dst:             usbi_mutex_destroy
        - Src:             'io.c:1239,2'
          Dst:             usbi_mutex_destroy
        - Src:             'io.c:1240,2'
          Dst:             usbi_cond_destroy
        - Src:             'io.c:1241,2'
          Dst:             usbi_mutex_destroy
        - Src:             'io.c:1242,2'
          Dst:             usbi_tls_key_delete
        - Src:             'io.c:1243,2'
          Dst:             cleanup_removed_event_sources
    - functionName:    usbi_remove_event_source
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2715
      functionLinenumberEnd: 2743
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          115
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - list_add_tail
        - list_del
        - usbi_event_source_notification
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:2719,2'
          Dst:             usbi_log
        - Src:             'io.c:2720,2'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:2729,3'
          Dst:             usbi_log
        - Src:             'io.c:2730,3'
          Dst:             usbi_mutex_unlock
        - Src:             'io.c:2734,2'
          Dst:             list_del
        - Src:             'io.c:2735,2'
          Dst:             list_add_tail
        - Src:             'io.c:2736,2'
          Dst:             usbi_event_source_notification
        - Src:             'io.c:2737,2'
          Dst:             usbi_mutex_unlock
    - functionName:    usbi_cond_destroy
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_cond_destroy
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:84,2'
          Dst:             pthread_cond_destroy
        - Src:             './os/threads_posix.h:84,2'
          Dst:             __assert_fail
    - functionName:    usbi_tls_key_delete
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_key_delete
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:102,2'
          Dst:             pthread_key_delete
        - Src:             './os/threads_posix.h:102,2'
          Dst:             __assert_fail
    - functionName:    pthread_key_delete
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_cond_destroy
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_add_event_source
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2691
      functionLinenumberEnd: 2711
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          84
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - list_add_tail
        - usbi_event_source_notification
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:2697,2'
          Dst:             usbi_log
        - Src:             'io.c:2700,2'
          Dst:             usbi_mutex_lock
        - Src:             'io.c:2701,2'
          Dst:             list_add_tail
        - Src:             'io.c:2702,2'
          Dst:             usbi_event_source_notification
        - Src:             'io.c:2703,2'
          Dst:             usbi_mutex_unlock
    - functionName:    usbi_tls_key_create
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_key_create
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:90,2'
          Dst:             pthread_key_create
        - Src:             './os/threads_posix.h:90,2'
          Dst:             __assert_fail
    - functionName:    pthread_key_create
      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:    usbi_io_init
      functionSourceFile: '/src/libusb/libusb/io.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1163
      functionLinenumberEnd: 1215
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          149
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - list_init
        - usbi_add_event_source
        - usbi_cond_destroy
        - usbi_cond_init
        - usbi_create_event
        - usbi_create_timer
        - usbi_destroy_event
        - usbi_destroy_timer
        - usbi_log
        - usbi_mutex_destroy
        - usbi_mutex_init
        - usbi_remove_event_source
        - usbi_tls_key_create
        - usbi_tls_key_delete
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'io.c:1166,2'
          Dst:             usbi_mutex_init
        - Src:             'io.c:1167,2'
          Dst:             usbi_mutex_init
        - Src:             'io.c:1168,2'
          Dst:             usbi_mutex_init
        - Src:             'io.c:1169,2'
          Dst:             usbi_cond_init
        - Src:             'io.c:1170,2'
          Dst:             usbi_mutex_init
        - Src:             'io.c:1171,2'
          Dst:             usbi_tls_key_create
        - Src:             'io.c:1172,2'
          Dst:             list_init
        - Src:             'io.c:1173,2'
          Dst:             list_init
        - Src:             'io.c:1174,2'
          Dst:             list_init
        - Src:             'io.c:1175,2'
          Dst:             list_init
        - Src:             'io.c:1176,2'
          Dst:             list_init
        - Src:             'io.c:1178,6'
          Dst:             usbi_create_event
        - Src:             'io.c:1182,6'
          Dst:             usbi_add_event_source
        - Src:             'io.c:1187,6'
          Dst:             usbi_create_timer
        - Src:             'io.c:1189,3'
          Dst:             usbi_log
        - Src:             'io.c:1190,7'
          Dst:             usbi_add_event_source
        - Src:             'io.c:1194,3'
          Dst:             usbi_log
        - Src:             'io.c:1202,2'
          Dst:             usbi_destroy_timer
        - Src:             'io.c:1203,2'
          Dst:             usbi_remove_event_source
        - Src:             'io.c:1206,2'
          Dst:             usbi_destroy_event
        - Src:             'io.c:1208,2'
          Dst:             usbi_mutex_destroy
        - Src:             'io.c:1209,2'
          Dst:             usbi_mutex_destroy
        - Src:             'io.c:1210,2'
          Dst:             usbi_mutex_destroy
        - Src:             'io.c:1211,2'
          Dst:             usbi_cond_destroy
        - Src:             'io.c:1212,2'
          Dst:             usbi_mutex_destroy
        - Src:             'io.c:1213,2'
          Dst:             usbi_tls_key_delete
    - functionName:    usbi_timer_valid
      functionSourceFile: '/src/libusb/libusb/./os/events_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_mutex_unlock
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:53,2'
          Dst:             pthread_mutex_unlock
        - Src:             './os/threads_posix.h:53,2'
          Dst:             __assert_fail
    - functionName:    usbi_mutex_lock
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_mutex_lock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:49,2'
          Dst:             pthread_mutex_lock
        - Src:             './os/threads_posix.h:49,2'
          Dst:             __assert_fail
    - functionName:    usbi_using_timer
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 893
      functionLinenumberEnd: 895
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - usbi_timer_valid
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './libusbi.h:895,9'
          Dst:             usbi_timer_valid
    - functionName:    usbi_wait_for_events
      functionSourceFile: '/src/libusb/libusb/os/events_posix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 259
      functionLinenumberEnd: 349
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         59
      ICount:          369
      EdgeCount:       75
      CyclomaticComplexity: 18
      functionsReached:
        - __assert_fail
        - __errno_location
        - poll
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
        - usbi_using_timer
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/events_posix.c:264,2'
          Dst:             usbi_log
        - Src:             'os/events_posix.c:273,18'
          Dst:             poll
        - Src:             'os/events_posix.c:274,2'
          Dst:             usbi_log
        - Src:             'os/events_posix.c:276,7'
          Dst:             usbi_using_timer
        - Src:             'os/events_posix.c:280,7'
          Dst:             __errno_location
        - Src:             'os/events_posix.c:282,3'
          Dst:             __errno_location
        - Src:             'os/events_posix.c:282,3'
          Dst:             usbi_log
        - Src:             'os/events_posix.c:287,2'
          Dst:             __assert_fail
        - Src:             'os/events_posix.c:297,2'
          Dst:             usbi_using_timer
        - Src:             'os/events_posix.c:297,2'
          Dst:             __assert_fail
        - Src:             'os/events_posix.c:298,6'
          Dst:             usbi_using_timer
        - Src:             'os/events_posix.c:313,17'
          Dst:             usbi_using_timer
        - Src:             'os/events_posix.c:317,2'
          Dst:             usbi_mutex_lock
        - Src:             'os/events_posix.c:331,5'
          Dst:             usbi_log
        - Src:             'os/events_posix.c:338,2'
          Dst:             usbi_mutex_unlock
        - Src:             'os/events_posix.c:340,2'
          Dst:             __assert_fail
    - 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:    2
      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:    89
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_alloc_event_data
      functionSourceFile: '/src/libusb/libusb/os/events_posix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 255
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          137
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/events_posix.c:240,40'
          Dst:             calloc
    - functionName:    usbi_disarm_timer
      functionSourceFile: '/src/libusb/libusb/os/events_posix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 213
      functionLinenumberEnd: 222
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - timerfd_settime
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/events_posix.c:216,6'
          Dst:             timerfd_settime
        - Src:             'os/events_posix.c:217,3'
          Dst:             __errno_location
        - Src:             'os/events_posix.c:217,3'
          Dst:             usbi_log
    - functionName:    timerfd_settime
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_arm_timer
      functionSourceFile: '/src/libusb/libusb/os/events_posix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 210
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          54
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - timerfd_settime
        - usbi_log
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'os/events_posix.c:204,6'
          Dst:             timerfd_settime
        - Src:             'os/events_posix.c:205,3'
          Dst:             __errno_location
        - Src:             'os/events_posix.c:205,3'
          Dst:             usbi_log
    - functionName:    usbi_destroy_timer
      functionSourceFile: '/src/libusb/libusb/os/events_posix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 198
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - close
        - usbi_log
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'os/events_posix.c:196,6'
          Dst:             close
        - Src:             'os/events_posix.c:197,3'
          Dst:             __errno_location
        - Src:             'os/events_posix.c:197,3'
          Dst:             usbi_log
    - 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:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_create_timer
      functionSourceFile: '/src/libusb/libusb/os/events_posix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - timerfd_create
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/events_posix.c:185,19'
          Dst:             timerfd_create
        - Src:             'os/events_posix.c:187,3'
          Dst:             __errno_location
        - Src:             'os/events_posix.c:187,3'
          Dst:             usbi_log
    - functionName:    timerfd_create
      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:    usbi_clear_event
      functionSourceFile: '/src/libusb/libusb/os/events_posix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 170
      functionLinenumberEnd: 180
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - read
        - usbi_log
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'os/events_posix.c:174,6'
          Dst:             read
        - Src:             'os/events_posix.c:176,3'
          Dst:             usbi_log
    - 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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_signal_event
      functionSourceFile: '/src/libusb/libusb/os/events_posix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 167
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - usbi_log
        - write
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'os/events_posix.c:160,6'
          Dst:             write
        - Src:             'os/events_posix.c:162,3'
          Dst:             usbi_log
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_destroy_event
      functionSourceFile: '/src/libusb/libusb/os/events_posix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 153
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - close
        - usbi_log
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'os/events_posix.c:145,6'
          Dst:             close
        - Src:             'os/events_posix.c:146,3'
          Dst:             __errno_location
        - Src:             'os/events_posix.c:146,3'
          Dst:             usbi_log
    - functionName:    usbi_create_event
      functionSourceFile: '/src/libusb/libusb/os/events_posix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __errno_location
        - eventfd
        - usbi_log
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'os/events_posix.c:79,19'
          Dst:             eventfd
        - Src:             'os/events_posix.c:81,3'
          Dst:             __errno_location
        - Src:             'os/events_posix.c:81,3'
          Dst:             usbi_log
    - 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:    usbi_get_tid
      functionSourceFile: '/src/libusb/libusb/os/threads_posix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          47
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - pthread_self
        - syscall
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/threads_posix.c:117,23'
          Dst:             syscall
        - Src:             'os/threads_posix.c:132,35'
          Dst:             pthread_self
    - functionName:    syscall
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_get_monotonic_time
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 562
      functionLinenumberEnd: 564
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - clock_gettime
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './libusbi.h:563,2'
          Dst:             clock_gettime
        - Src:             './libusbi.h:563,2'
          Dst:             __assert_fail
    - functionName:    usbi_cond_timedwait
      functionSourceFile: '/src/libusb/libusb/os/threads_posix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          85
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - pthread_cond_timedwait
        - usbi_get_monotonic_time
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/threads_posix.c:65,2'
          Dst:             usbi_get_monotonic_time
        - Src:             'os/threads_posix.c:77,6'
          Dst:             pthread_cond_timedwait
    - functionName:    pthread_cond_timedwait
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_cond_init
      functionSourceFile: '/src/libusb/libusb/os/threads_posix.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          58
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_cond_init
        - pthread_condattr_destroy
        - pthread_condattr_init
        - pthread_condattr_setclock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/threads_posix.c:49,2'
          Dst:             pthread_condattr_init
        - Src:             'os/threads_posix.c:49,2'
          Dst:             __assert_fail
        - Src:             'os/threads_posix.c:50,2'
          Dst:             pthread_condattr_setclock
        - Src:             'os/threads_posix.c:50,2'
          Dst:             __assert_fail
        - Src:             'os/threads_posix.c:51,2'
          Dst:             pthread_cond_init
        - Src:             'os/threads_posix.c:51,2'
          Dst:             __assert_fail
        - Src:             'os/threads_posix.c:52,2'
          Dst:             pthread_condattr_destroy
        - Src:             'os/threads_posix.c:52,2'
          Dst:             __assert_fail
    - functionName:    pthread_condattr_init
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_condattr_setclock
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_cond_init
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_condattr_destroy
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    handle_control_completion
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2833
      functionLinenumberEnd: 2890
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         47
      ICount:          298
      EdgeCount:       56
      CyclomaticComplexity: 11
      functionsReached:
        - usbi_get_transfer_priv
        - usbi_handle_transfer_cancellation
        - usbi_handle_transfer_completion
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    1
      BranchProfiles:
        - Branch String:   'os/linux_usbfs.c:2852,2'
          Branch Sides:    []
      Callsites:
        - Src:             'os/linux_usbfs.c:2834,68'
          Dst:             usbi_get_transfer_priv
        - Src:             'os/linux_usbfs.c:2837,2'
          Dst:             usbi_mutex_lock
        - Src:             'os/linux_usbfs.c:2838,2'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2844,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2848,3'
          Dst:             usbi_mutex_unlock
        - Src:             'os/linux_usbfs.c:2849,10'
          Dst:             usbi_handle_transfer_cancellation
        - Src:             'os/linux_usbfs.c:2861,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2865,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2869,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2877,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2881,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2888,2'
          Dst:             usbi_mutex_unlock
        - Src:             'os/linux_usbfs.c:2889,9'
          Dst:             usbi_handle_transfer_completion
    - functionName:    usbi_get_transfer_priv
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 939
      functionLinenumberEnd: 940
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_mutex_lock
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_mutex_lock
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:49,2'
          Dst:             pthread_mutex_lock
        - Src:             './os/threads_posix.h:49,2'
          Dst:             __assert_fail
    - functionName:    usbi_mutex_unlock
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_mutex_unlock
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:53,2'
          Dst:             pthread_mutex_unlock
        - Src:             './os/threads_posix.h:53,2'
          Dst:             __assert_fail
    - functionName:    handle_bulk_completion
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2574
      functionLinenumberEnd: 2707
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         101
      ICount:          690
      EdgeCount:       127
      CyclomaticComplexity: 28
      functionsReached:
        - discard_urbs
        - usbi_get_transfer_priv
        - usbi_handle_transfer_cancellation
        - usbi_handle_transfer_completion
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    1
      BranchProfiles:
        - Branch String:   'os/linux_usbfs.c:2633,2'
          Branch Sides:    []
      Callsites:
        - Src:             'os/linux_usbfs.c:2575,68'
          Dst:             usbi_get_transfer_priv
        - Src:             'os/linux_usbfs.c:2579,2'
          Dst:             usbi_mutex_lock
        - Src:             'os/linux_usbfs.c:2580,2'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2587,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2608,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2610,5'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2619,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2643,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2647,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2653,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2662,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2666,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2674,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2677,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2694,2'
          Dst:             discard_urbs
        - Src:             'os/linux_usbfs.c:2697,2'
          Dst:             usbi_mutex_unlock
        - Src:             'os/linux_usbfs.c:2703,2'
          Dst:             usbi_mutex_unlock
        - Src:             'os/linux_usbfs.c:2705,3'
          Dst:             usbi_handle_transfer_cancellation
        - Src:             'os/linux_usbfs.c:2706,3'
          Dst:             usbi_handle_transfer_completion
    - functionName:    discard_urbs
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2090
      functionLinenumberEnd: 2120
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          194
      EdgeCount:       39
      CyclomaticComplexity: 11
      functionsReached:
        - __errno_location
        - ioctl
        - usbi_get_device_handle_priv
        - usbi_get_transfer_priv
        - usbi_log
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:2093,68'
          Dst:             usbi_get_transfer_priv
        - Src:             'os/linux_usbfs.c:2095,38'
          Dst:             usbi_get_device_handle_priv
        - Src:             'os/linux_usbfs.c:2105,7'
          Dst:             ioctl
        - Src:             'os/linux_usbfs.c:2108,7'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:2109,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2112,14'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:2113,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2116,4'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:2116,4'
          Dst:             usbi_log
    - functionName:    usbi_get_device_handle_priv
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 934
      functionLinenumberEnd: 935
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    22
      BranchProfiles:  []
      Callsites:       []
    - 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:    21
      BranchProfiles:  []
      Callsites:       []
    - functionName:    handle_iso_completion
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2711
      functionLinenumberEnd: 2829
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         87
      ICount:          582
      EdgeCount:       105
      CyclomaticComplexity: 20
      functionsReached:
        - free_iso_urbs
        - usbi_get_transfer_priv
        - usbi_handle_transfer_cancellation
        - usbi_handle_transfer_completion
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    1
      BranchProfiles:
        - Branch String:   'os/linux_usbfs.c:2746,3'
          Branch Sides:    []
        - Branch String:   'os/linux_usbfs.c:2802,2'
          Branch Sides:    []
      Callsites:
        - Src:             'os/linux_usbfs.c:2714,68'
          Dst:             usbi_get_transfer_priv
        - Src:             'os/linux_usbfs.c:2720,2'
          Dst:             usbi_mutex_lock
        - Src:             'os/linux_usbfs.c:2728,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2729,3'
          Dst:             usbi_mutex_unlock
        - Src:             'os/linux_usbfs.c:2733,2'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2754,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2758,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2762,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2771,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2775,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2786,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2789,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2790,4'
          Dst:             free_iso_urbs
        - Src:             'os/linux_usbfs.c:2792,5'
          Dst:             usbi_mutex_unlock
        - Src:             'os/linux_usbfs.c:2793,12'
          Dst:             usbi_handle_transfer_cancellation
        - Src:             'os/linux_usbfs.c:2795,5'
          Dst:             usbi_mutex_unlock
        - Src:             'os/linux_usbfs.c:2796,12'
          Dst:             usbi_handle_transfer_completion
        - Src:             'os/linux_usbfs.c:2809,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2813,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2820,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2821,3'
          Dst:             free_iso_urbs
        - Src:             'os/linux_usbfs.c:2822,3'
          Dst:             usbi_mutex_unlock
        - Src:             'os/linux_usbfs.c:2823,10'
          Dst:             usbi_handle_transfer_completion
        - Src:             'os/linux_usbfs.c:2827,2'
          Dst:             usbi_mutex_unlock
    - functionName:    free_iso_urbs
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2124
      functionLinenumberEnd: 2137
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          60
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    reap_for_handle
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2893
      functionLinenumberEnd: 2929
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          174
      EdgeCount:       31
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - handle_bulk_completion
        - handle_control_completion
        - handle_iso_completion
        - ioctl
        - usbi_get_device_handle_priv
        - usbi_log
      functionUses:    2
      BranchProfiles:
        - Branch String:   'os/linux_usbfs.c:2916,2'
          Branch Sides:    []
      Callsites:
        - Src:             'os/linux_usbfs.c:2894,78'
          Dst:             usbi_get_device_handle_priv
        - Src:             'os/linux_usbfs.c:2900,6'
          Dst:             ioctl
        - Src:             'os/linux_usbfs.c:2902,7'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:2904,7'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:2907,3'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:2907,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2914,2'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2918,10'
          Dst:             handle_iso_completion
        - Src:             'os/linux_usbfs.c:2922,10'
          Dst:             handle_bulk_completion
        - Src:             'os/linux_usbfs.c:2924,10'
          Dst:             handle_control_completion
        - Src:             'os/linux_usbfs.c:2926,3'
          Dst:             usbi_log
    - functionName:    submit_iso_transfer
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2312
      functionLinenumberEnd: 2456
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         67
      ICount:          520
      EdgeCount:       89
      CyclomaticComplexity: 24
      functionsReached:
        - __errno_location
        - calloc
        - discard_urbs
        - free_iso_urbs
        - ioctl
        - usbi_get_device_handle_priv
        - usbi_get_transfer_priv
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:2315,68'
          Dst:             usbi_get_transfer_priv
        - Src:             'os/linux_usbfs.c:2317,38'
          Dst:             usbi_get_device_handle_priv
        - Src:             'os/linux_usbfs.c:2339,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2354,2'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2356,30'
          Dst:             calloc
        - Src:             'os/linux_usbfs.c:2376,29'
          Dst:             calloc
        - Src:             'os/linux_usbfs.c:2378,4'
          Dst:             free_iso_urbs
        - Src:             'os/linux_usbfs.c:2404,11'
          Dst:             ioctl
        - Src:             'os/linux_usbfs.c:2409,7'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:2411,14'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:2412,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2414,14'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:2415,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2418,4'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:2418,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2425,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2426,4'
          Dst:             free_iso_urbs
        - Src:             'os/linux_usbfs.c:2448,3'
          Dst:             discard_urbs
        - Src:             'os/linux_usbfs.c:2450,3'
          Dst:             usbi_log
    - functionName:    submit_bulk_transfer
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2140
      functionLinenumberEnd: 2309
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         88
      ICount:          602
      EdgeCount:       116
      CyclomaticComplexity: 30
      functionsReached:
        - __errno_location
        - calloc
        - discard_urbs
        - ioctl
        - usbi_get_device_handle_priv
        - usbi_get_transfer_priv
        - usbi_log
      functionUses:    2
      BranchProfiles:
        - Branch String:   'os/linux_usbfs.c:2218,3'
          Branch Sides:    []
      Callsites:
        - Src:             'os/linux_usbfs.c:2143,68'
          Dst:             usbi_get_transfer_priv
        - Src:             'os/linux_usbfs.c:2145,38'
          Dst:             usbi_get_device_handle_priv
        - Src:             'os/linux_usbfs.c:2204,2'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2205,29'
          Dst:             calloc
        - Src:             'os/linux_usbfs.c:2253,7'
          Dst:             ioctl
        - Src:             'os/linux_usbfs.c:2257,7'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:2259,14'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:2262,4'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:2262,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2269,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2291,24'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:2301,3'
          Dst:             discard_urbs
        - Src:             'os/linux_usbfs.c:2303,3'
          Dst:             usbi_log
    - functionName:    submit_control_transfer
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2459
      functionLinenumberEnd: 2495
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          145
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - calloc
        - ioctl
        - usbi_get_device_handle_priv
        - usbi_get_transfer_priv
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:2460,68'
          Dst:             usbi_get_transfer_priv
        - Src:             'os/linux_usbfs.c:2464,38'
          Dst:             usbi_get_device_handle_priv
        - Src:             'os/linux_usbfs.c:2471,28'
          Dst:             calloc
        - Src:             'os/linux_usbfs.c:2484,6'
          Dst:             ioctl
        - Src:             'os/linux_usbfs.c:2488,7'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:2491,3'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:2491,3'
          Dst:             usbi_log
    - functionName:    do_streams_ioctl
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1860
      functionLinenumberEnd: 1892
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          142
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - __errno_location
        - ioctl
        - usbi_get_device_handle_priv
        - usbi_log
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1861,78'
          Dst:             usbi_get_device_handle_priv
        - Src:             'os/linux_usbfs.c:1876,6'
          Dst:             ioctl
        - Src:             'os/linux_usbfs.c:1881,7'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1883,12'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1885,12'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1888,3'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1888,3'
          Dst:             usbi_log
    - functionName:    release_interface
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1745
      functionLinenumberEnd: 1758
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          71
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - ioctl
        - usbi_get_device_handle_priv
        - usbi_log
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1746,78'
          Dst:             usbi_get_device_handle_priv
        - Src:             'os/linux_usbfs.c:1748,10'
          Dst:             ioctl
        - Src:             'os/linux_usbfs.c:1751,7'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1754,3'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1754,3'
          Dst:             usbi_log
    - functionName:    claim_interface
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1725
      functionLinenumberEnd: 1742
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          93
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - ioctl
        - usbi_get_device_handle_priv
        - usbi_log
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1726,78'
          Dst:             usbi_get_device_handle_priv
        - Src:             'os/linux_usbfs.c:1728,10'
          Dst:             ioctl
        - Src:             'os/linux_usbfs.c:1731,7'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1733,12'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1735,12'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1738,3'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1738,3'
          Dst:             usbi_log
    - functionName:    detach_kernel_driver_and_claim
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2023
      functionLinenumberEnd: 2055
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          124
      EdgeCount:       23
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - claim_interface
        - ioctl
        - op_detach_kernel_driver
        - snprintf
        - usbi_get_device_handle_priv
        - usbi_log
      functionUses:    2
      BranchProfiles:
        - Branch String:   'os/linux_usbfs.c:2034,2'
          Branch Sides:    []
      Callsites:
        - Src:             'os/linux_usbfs.c:2024,78'
          Dst:             usbi_get_device_handle_priv
        - Src:             'os/linux_usbfs.c:2029,2'
          Dst:             snprintf
        - Src:             'os/linux_usbfs.c:2031,6'
          Dst:             ioctl
        - Src:             'os/linux_usbfs.c:2034,10'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:2044,3'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:2044,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2050,6'
          Dst:             op_detach_kernel_driver
        - Src:             'os/linux_usbfs.c:2054,9'
          Dst:             claim_interface
    - functionName:    snprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    op_detach_kernel_driver
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1957
      functionLinenumberEnd: 1987
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          133
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - __errno_location
        - ioctl
        - strcmp
        - usbi_get_device_handle_priv
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1958,78'
          Dst:             usbi_get_device_handle_priv
        - Src:             'os/linux_usbfs.c:1969,6'
          Dst:             ioctl
        - Src:             'os/linux_usbfs.c:1970,17'
          Dst:             strcmp
        - Src:             'os/linux_usbfs.c:1973,6'
          Dst:             ioctl
        - Src:             'os/linux_usbfs.c:1975,7'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1977,12'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1979,12'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1982,3'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1982,3'
          Dst:             usbi_log
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sysfs_get_active_config
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 794
      functionLinenumberEnd: 798
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - read_sysfs_attr
        - usbi_get_device_priv
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:795,63'
          Dst:             usbi_get_device_priv
        - Src:             'os/linux_usbfs.c:797,9'
          Dst:             read_sysfs_attr
    - functionName:    usbi_get_device_priv
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 929
      functionLinenumberEnd: 930
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    read_sysfs_attr
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 714
      functionLinenumberEnd: 778
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          275
      EdgeCount:       56
      CyclomaticComplexity: 17
      functionsReached:
        - __ctype_b_loc
        - __errno_location
        - close
        - open_sysfs_attr
        - read
        - strtol
        - usbi_log
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:720,7'
          Dst:             open_sysfs_attr
        - Src:             'os/linux_usbfs.c:724,6'
          Dst:             read
        - Src:             'os/linux_usbfs.c:726,7'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:727,3'
          Dst:             close
        - Src:             'os/linux_usbfs.c:730,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:733,2'
          Dst:             close
        - Src:             'os/linux_usbfs.c:744,7'
          Dst:             __ctype_b_loc
        - Src:             'os/linux_usbfs.c:745,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:748,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:755,2'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:756,10'
          Dst:             strtol
        - Src:             'os/linux_usbfs.c:757,63'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:758,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:765,25'
          Dst:             __ctype_b_loc
        - Src:             'os/linux_usbfs.c:767,11'
          Dst:             __ctype_b_loc
        - Src:             'os/linux_usbfs.c:771,4'
          Dst:             usbi_log
    - functionName:    open_sysfs_attr
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 692
      functionLinenumberEnd: 709
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          58
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - open
        - snprintf
        - usbi_log
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:696,2'
          Dst:             snprintf
        - Src:             'os/linux_usbfs.c:697,7'
          Dst:             open
        - Src:             'os/linux_usbfs.c:699,7'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:704,3'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:704,3'
          Dst:             usbi_log
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strtol
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - 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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    initialize_handle
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1559
      functionLinenumberEnd: 1574
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          107
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - ioctl
        - usbi_add_event_source
        - usbi_get_device_handle_priv
        - usbi_log
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1560,78'
          Dst:             usbi_get_device_handle_priv
        - Src:             'os/linux_usbfs.c:1565,6'
          Dst:             ioctl
        - Src:             'os/linux_usbfs.c:1567,7'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1568,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:1570,4'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1570,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:1574,9'
          Dst:             usbi_add_event_source
    - functionName:    linux_hotplug_poll
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.h'
      linkageType:     InternalLinkage
      functionLinenumber: 207
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - linux_udev_hotplug_poll
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.h:209,2'
          Dst:             linux_udev_hotplug_poll
    - functionName:    read_sysfs_string_attr
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 524
      functionLinenumberEnd: 548
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          110
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - open
        - read_sysfs_attr_fd
        - snprintf
        - usbi_log
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:533,6'
          Dst:             snprintf
        - Src:             'os/linux_usbfs.c:535,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:538,7'
          Dst:             open
        - Src:             'os/linux_usbfs.c:540,7'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:543,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:547,9'
          Dst:             read_sysfs_attr_fd
    - functionName:    read_sysfs_attr_fd
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 468
      functionLinenumberEnd: 494
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          134
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - close
        - read
        - strlen
        - usbi_log
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:475,3'
          Dst:             close
        - Src:             'os/linux_usbfs.c:479,6'
          Dst:             read
        - Src:             'os/linux_usbfs.c:481,7'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:482,3'
          Dst:             close
        - Src:             'os/linux_usbfs.c:485,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:488,2'
          Dst:             close
        - Src:             'os/linux_usbfs.c:493,14'
          Dst:             strlen
    - 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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_usbdev_entry
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 245
      functionLinenumberEnd: 261
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          101
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - __isoc99_sscanf
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:248,6'
          Dst:             __isoc99_sscanf
        - Src:             'os/linux_usbfs.c:251,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:255,2'
          Dst:             usbi_log
    - functionName:    __isoc99_sscanf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    linux_stop_event_monitor
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.h'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - linux_udev_stop_event_monitor
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.h:200,2'
          Dst:             linux_udev_stop_event_monitor
    - functionName:    linux_scan_devices
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 669
      functionLinenumberEnd: 682
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - linux_udev_scan_devices
        - usbi_mutex_static_lock
        - usbi_mutex_static_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:672,2'
          Dst:             usbi_mutex_static_lock
        - Src:             'os/linux_usbfs.c:675,8'
          Dst:             linux_udev_scan_devices
        - Src:             'os/linux_usbfs.c:680,2'
          Dst:             usbi_mutex_static_unlock
    - functionName:    usbi_mutex_static_lock
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_mutex_lock
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:35,2'
          Dst:             pthread_mutex_lock
        - Src:             './os/threads_posix.h:35,2'
          Dst:             __assert_fail
    - functionName:    usbi_mutex_static_unlock
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_mutex_unlock
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:39,2'
          Dst:             pthread_mutex_unlock
        - Src:             './os/threads_posix.h:39,2'
          Dst:             __assert_fail
    - functionName:    linux_start_event_monitor
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.h'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - linux_udev_start_event_monitor
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.h:179,9'
          Dst:             linux_udev_start_event_monitor
    - functionName:    find_usbfs_path
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 264
      functionLinenumberEnd: 309
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         28
      ICount:          131
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - closedir
        - is_usbdev_entry
        - opendir
        - readdir
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:270,8'
          Dst:             opendir
        - Src:             'os/linux_usbfs.c:272,19'
          Dst:             readdir
        - Src:             'os/linux_usbfs.c:280,3'
          Dst:             closedir
        - Src:             'os/linux_usbfs.c:288,8'
          Dst:             opendir
        - Src:             'os/linux_usbfs.c:290,19'
          Dst:             readdir
        - Src:             'os/linux_usbfs.c:294,8'
          Dst:             is_usbdev_entry
        - Src:             'os/linux_usbfs.c:300,3'
          Dst:             closedir
    - functionName:    opendir
      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:    readdir
      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:    closedir
      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:    kernel_version_ge
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 338
      functionLinenumberEnd: 355
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          91
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_kernel_version
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 313
      functionLinenumberEnd: 334
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          76
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - __errno_location
        - __isoc99_sscanf
        - uname
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:317,6'
          Dst:             uname
        - Src:             'os/linux_usbfs.c:318,3'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:318,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:322,10'
          Dst:             __isoc99_sscanf
        - Src:             'os/linux_usbfs.c:324,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:331,2'
          Dst:             usbi_log
    - functionName:    uname
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_get_context_priv
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 924
      functionLinenumberEnd: 925
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sysfs_scan_device
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 781
      functionLinenumberEnd: 790
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - linux_enumerate_device
        - linux_get_device_address
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:785,8'
          Dst:             linux_get_device_address
        - Src:             'os/linux_usbfs.c:789,9'
          Dst:             linux_enumerate_device
    - functionName:    linux_get_device_address
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 804
      functionLinenumberEnd: 852
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          183
      EdgeCount:       38
      CyclomaticComplexity: 12
      functionsReached:
        - __isoc99_sscanf
        - read_sysfs_attr
        - readlink
        - snprintf
        - strncmp
        - usbi_log
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:808,2'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:817,4'
          Dst:             snprintf
        - Src:             'os/linux_usbfs.c:818,8'
          Dst:             readlink
        - Src:             'os/linux_usbfs.c:829,8'
          Dst:             strncmp
        - Src:             'os/linux_usbfs.c:830,4'
          Dst:             __isoc99_sscanf
        - Src:             'os/linux_usbfs.c:837,2'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:839,6'
          Dst:             read_sysfs_attr
        - Src:             'os/linux_usbfs.c:844,6'
          Dst:             read_sysfs_attr
        - Src:             'os/linux_usbfs.c:849,2'
          Dst:             usbi_log
    - functionName:    linux_enumerate_device
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1325
      functionLinenumberEnd: 1367
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - char
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          135
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - initialize_device
        - libusb_unref_device
        - linux_get_parent_info
        - usbi_alloc_device
        - usbi_connect_device
        - usbi_get_device_by_session_id
        - usbi_log
        - usbi_sanitize_device
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1334,2'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:1336,8'
          Dst:             usbi_get_device_by_session_id
        - Src:             'os/linux_usbfs.c:1339,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:1340,3'
          Dst:             libusb_unref_device
        - Src:             'os/linux_usbfs.c:1344,2'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:1346,8'
          Dst:             usbi_alloc_device
        - Src:             'os/linux_usbfs.c:1350,6'
          Dst:             initialize_device
        - Src:             'os/linux_usbfs.c:1353,6'
          Dst:             usbi_sanitize_device
        - Src:             'os/linux_usbfs.c:1357,6'
          Dst:             linux_get_parent_info
        - Src:             'os/linux_usbfs.c:1362,3'
          Dst:             libusb_unref_device
        - Src:             'os/linux_usbfs.c:1364,3'
          Dst:             usbi_connect_device
    - functionName:    initialize_device
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1125
      functionLinenumberEnd: 1243
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - char
        - char
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         70
      ICount:          444
      EdgeCount:       91
      CyclomaticComplexity: 23
      functionsReached:
        - __errno_location
        - close
        - get_usbfs_fd
        - lseek
        - open_sysfs_attr
        - parse_config_descriptors
        - read
        - read_sysfs_attr
        - strdup
        - usbfs_get_active_config
        - usbfs_get_speed
        - usbi_get_device_priv
        - usbi_localize_device_descriptor
        - usbi_log
        - usbi_reallocf
      functionUses:    2
      BranchProfiles:
        - Branch String:   'os/linux_usbfs.c:1143,4'
          Branch Sides:    []
      Callsites:
        - Src:             'os/linux_usbfs.c:1126,63'
          Dst:             usbi_get_device_priv
        - Src:             'os/linux_usbfs.c:1136,21'
          Dst:             strdup
        - Src:             'os/linux_usbfs.c:1142,7'
          Dst:             read_sysfs_attr
        - Src:             'os/linux_usbfs.c:1151,5'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:1155,16'
          Dst:             usbfs_get_speed
        - Src:             'os/linux_usbfs.c:1160,8'
          Dst:             open_sysfs_attr
        - Src:             'os/linux_usbfs.c:1162,8'
          Dst:             get_usbfs_fd
        - Src:             'os/linux_usbfs.c:1165,7'
          Dst:             lseek
        - Src:             'os/linux_usbfs.c:1167,4'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1167,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:1180,23'
          Dst:             usbi_reallocf
        - Src:             'os/linux_usbfs.c:1183,5'
          Dst:             close
        - Src:             'os/linux_usbfs.c:1190,8'
          Dst:             read
        - Src:             'os/linux_usbfs.c:1192,4'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1192,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:1194,5'
          Dst:             close
        - Src:             'os/linux_usbfs.c:1201,3'
          Dst:             close
        - Src:             'os/linux_usbfs.c:1204,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:1208,6'
          Dst:             parse_config_descriptors
        - Src:             'os/linux_usbfs.c:1216,3'
          Dst:             usbi_localize_device_descriptor
        - Src:             'os/linux_usbfs.c:1222,8'
          Dst:             get_usbfs_fd
        - Src:             'os/linux_usbfs.c:1228,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:1238,6'
          Dst:             usbfs_get_active_config
        - Src:             'os/linux_usbfs.c:1240,3'
          Dst:             close
    - functionName:    linux_get_parent_info
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1246
      functionLinenumberEnd: 1321
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         48
      ICount:          285
      EdgeCount:       64
      CyclomaticComplexity: 18
      functionsReached:
        - asprintf
        - libusb_ref_device
        - strchr
        - strcmp
        - strdup
        - strncmp
        - strrchr
        - strtol
        - sysfs_scan_device
        - usbi_get_device_priv
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1253,21'
          Dst:             strncmp
        - Src:             'os/linux_usbfs.c:1258,21'
          Dst:             strdup
        - Src:             'os/linux_usbfs.c:1262,13'
          Dst:             strrchr
        - Src:             'os/linux_usbfs.c:1263,13'
          Dst:             strrchr
        - Src:             'os/linux_usbfs.c:1265,22'
          Dst:             strtol
        - Src:             'os/linux_usbfs.c:1267,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:1276,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:1283,7'
          Dst:             strchr
        - Src:             'os/linux_usbfs.c:1285,9'
          Dst:             asprintf
        - Src:             'os/linux_usbfs.c:1293,2'
          Dst:             usbi_mutex_lock
        - Src:             'os/linux_usbfs.c:1295,64'
          Dst:             usbi_get_device_priv
        - Src:             'os/linux_usbfs.c:1298,9'
          Dst:             strcmp
        - Src:             'os/linux_usbfs.c:1299,23'
          Dst:             libusb_ref_device
        - Src:             'os/linux_usbfs.c:1304,2'
          Dst:             usbi_mutex_unlock
        - Src:             'os/linux_usbfs.c:1307,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:1309,3'
          Dst:             sysfs_scan_device
        - Src:             'os/linux_usbfs.c:1314,2'
          Dst:             usbi_log
    - 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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strdup
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strrchr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    asprintf
      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:    usbfs_get_speed
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1104
      functionLinenumberEnd: 1121
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          69
      EdgeCount:       25
      CyclomaticComplexity: 14
      functionsReached:
        - ioctl
        - usbi_log
      functionUses:    1
      BranchProfiles:
        - Branch String:   'os/linux_usbfs.c:1108,2'
          Branch Sides:    []
      Callsites:
        - Src:             'os/linux_usbfs.c:1107,6'
          Dst:             ioctl
        - Src:             'os/linux_usbfs.c:1117,3'
          Dst:             usbi_log
    - functionName:    get_usbfs_fd
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          205
      EdgeCount:       47
      CyclomaticComplexity: 14
      functionsReached:
        - __errno_location
        - nanosleep
        - open
        - snprintf
        - usbi_log
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:198,3'
          Dst:             snprintf
        - Src:             'os/linux_usbfs.c:201,3'
          Dst:             snprintf
        - Src:             'os/linux_usbfs.c:204,7'
          Dst:             open
        - Src:             'os/linux_usbfs.c:209,6'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:216,5'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:219,4'
          Dst:             nanosleep
        - Src:             'os/linux_usbfs.c:221,9'
          Dst:             open
        - Src:             'os/linux_usbfs.c:224,8'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:230,3'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:230,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:231,7'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:232,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:235,6'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:237,6'
          Dst:             __errno_location
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_reallocf
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 271
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './libusbi.h:272,14'
          Dst:             realloc
    - functionName:    parse_config_descriptors
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 897
      functionLinenumberEnd: 990
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         41
      ICount:          316
      EdgeCount:       55
      CyclomaticComplexity: 16
      functionsReached:
        - libusb_cpu_to_le16
        - seek_to_next_config
        - usbi_get_device_priv
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:899,63'
          Dst:             usbi_get_device_priv
        - Src:             'os/linux_usbfs.c:923,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:930,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:934,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:939,16'
          Dst:             libusb_cpu_to_le16
        - Src:             'os/linux_usbfs.c:941,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:955,14'
          Dst:             seek_to_next_config
        - Src:             'os/linux_usbfs.c:964,5'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:974,5'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:980,4'
          Dst:             usbi_log
    - functionName:    usbi_localize_device_descriptor
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 553
      functionLinenumberEnd: 558
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          41
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - libusb_cpu_to_le16
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './libusbi.h:554,17'
          Dst:             libusb_cpu_to_le16
        - Src:             './libusbi.h:555,19'
          Dst:             libusb_cpu_to_le16
        - Src:             './libusbi.h:556,20'
          Dst:             libusb_cpu_to_le16
        - Src:             './libusbi.h:557,20'
          Dst:             libusb_cpu_to_le16
    - functionName:    usbfs_get_active_config
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1058
      functionLinenumberEnd: 1101
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          130
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - dev_has_config0
        - ioctl
        - usbi_get_device_priv
        - usbi_log
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1059,63'
          Dst:             usbi_get_device_priv
        - Src:             'os/linux_usbfs.c:1073,6'
          Dst:             ioctl
        - Src:             'os/linux_usbfs.c:1075,7'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1079,3'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1079,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:1089,7'
          Dst:             dev_has_config0
    - functionName:    dev_has_config0
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          67
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - usbi_get_device_priv
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:178,63'
          Dst:             usbi_get_device_priv
    - functionName:    libusb_cpu_to_le16
      functionSourceFile: '/src/libusb/libusb/./libusb.h'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    seek_to_next_config
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 857
      functionLinenumberEnd: 894
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          131
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:868,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:877,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:882,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:892,2'
          Dst:             usbi_log
    - 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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    nanosleep
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    readlink
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    op_handle_events
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2933
      functionLinenumberEnd: 3000
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         55
      ICount:          307
      EdgeCount:       72
      CyclomaticComplexity: 19
      functionsReached:
        - linux_device_disconnected
        - reap_for_handle
        - usbi_get_device_handle_priv
        - usbi_handle_disconnect
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_static_lock
        - usbi_mutex_static_unlock
        - usbi_mutex_unlock
        - usbi_remove_event_source
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:2938,2'
          Dst:             usbi_mutex_lock
        - Src:             'os/linux_usbfs.c:2950,47'
          Dst:             usbi_get_device_handle_priv
        - Src:             'os/linux_usbfs.c:2956,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:2965,4'
          Dst:             usbi_remove_event_source
        - Src:             'os/linux_usbfs.c:2970,4'
          Dst:             usbi_mutex_static_lock
        - Src:             'os/linux_usbfs.c:2972,5'
          Dst:             linux_device_disconnected
        - Src:             'os/linux_usbfs.c:2974,4'
          Dst:             usbi_mutex_static_unlock
        - Src:             'os/linux_usbfs.c:2978,10'
          Dst:             reap_for_handle
        - Src:             'os/linux_usbfs.c:2982,4'
          Dst:             usbi_handle_disconnect
        - Src:             'os/linux_usbfs.c:2988,8'
          Dst:             reap_for_handle
        - Src:             'os/linux_usbfs.c:2999,2'
          Dst:             usbi_mutex_unlock
    - functionName:    linux_device_disconnected
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1381
      functionLinenumberEnd: 1397
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          72
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - libusb_unref_device
        - usbi_disconnect_device
        - usbi_get_device_by_session_id
        - usbi_log
        - usbi_mutex_static_lock
        - usbi_mutex_static_unlock
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1386,2'
          Dst:             usbi_mutex_static_lock
        - Src:             'os/linux_usbfs.c:1388,9'
          Dst:             usbi_get_device_by_session_id
        - Src:             'os/linux_usbfs.c:1390,4'
          Dst:             usbi_disconnect_device
        - Src:             'os/linux_usbfs.c:1391,4'
          Dst:             libusb_unref_device
        - Src:             'os/linux_usbfs.c:1393,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:1396,2'
          Dst:             usbi_mutex_static_unlock
    - functionName:    op_clear_transfer_priv
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2546
      functionLinenumberEnd: 2570
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          111
      EdgeCount:       22
      CyclomaticComplexity: 4
      functionsReached:
        - free_iso_urbs
        - usbi_get_transfer_priv
        - usbi_log
      functionUses:    0
      BranchProfiles:
        - Branch String:   'os/linux_usbfs.c:2551,2'
          Branch Sides:    []
      Callsites:
        - Src:             'os/linux_usbfs.c:2549,68'
          Dst:             usbi_get_transfer_priv
        - Src:             'os/linux_usbfs.c:2563,4'
          Dst:             free_iso_urbs
        - Src:             'os/linux_usbfs.c:2568,3'
          Dst:             usbi_log
    - functionName:    op_cancel_transfer
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2519
      functionLinenumberEnd: 2543
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          89
      EdgeCount:       18
      CyclomaticComplexity: 4
      functionsReached:
        - discard_urbs
        - usbi_get_transfer_priv
      functionUses:    0
      BranchProfiles:
        - Branch String:   'os/linux_usbfs.c:2532,2'
          Branch Sides:    []
      Callsites:
        - Src:             'os/linux_usbfs.c:2520,68'
          Dst:             usbi_get_transfer_priv
        - Src:             'os/linux_usbfs.c:2528,6'
          Dst:             discard_urbs
    - functionName:    op_submit_transfer
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2498
      functionLinenumberEnd: 2516
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          87
      EdgeCount:       14
      CyclomaticComplexity: 2
      functionsReached:
        - submit_bulk_transfer
        - submit_control_transfer
        - submit_iso_transfer
        - usbi_log
      functionUses:    0
      BranchProfiles:
        - Branch String:   'os/linux_usbfs.c:2502,2'
          Branch Sides:    []
      Callsites:
        - Src:             'os/linux_usbfs.c:2504,10'
          Dst:             submit_control_transfer
        - Src:             'os/linux_usbfs.c:2507,10'
          Dst:             submit_bulk_transfer
        - Src:             'os/linux_usbfs.c:2509,10'
          Dst:             submit_bulk_transfer
        - Src:             'os/linux_usbfs.c:2511,10'
          Dst:             submit_iso_transfer
        - Src:             'os/linux_usbfs.c:2513,3'
          Dst:             usbi_log
    - functionName:    op_destroy_device
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2080
      functionLinenumberEnd: 2086
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          29
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - usbi_get_device_priv
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:2081,63'
          Dst:             usbi_get_device_priv
    - functionName:    op_attach_kernel_driver
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1991
      functionLinenumberEnd: 2019
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          123
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - __errno_location
        - ioctl
        - usbi_get_device_handle_priv
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1992,78'
          Dst:             usbi_get_device_handle_priv
        - Src:             'os/linux_usbfs.c:2001,6'
          Dst:             ioctl
        - Src:             'os/linux_usbfs.c:2003,7'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:2005,12'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:2007,12'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:2009,12'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:2012,3'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:2012,3'
          Dst:             usbi_log
    - functionName:    op_kernel_driver_active
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1934
      functionLinenumberEnd: 1953
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          93
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - ioctl
        - strcmp
        - usbi_get_device_handle_priv
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1935,78'
          Dst:             usbi_get_device_handle_priv
        - Src:             'os/linux_usbfs.c:1941,6'
          Dst:             ioctl
        - Src:             'os/linux_usbfs.c:1943,7'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1945,12'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1948,3'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1948,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:1952,9'
          Dst:             strcmp
    - functionName:    op_dev_mem_free
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1923
      functionLinenumberEnd: 1930
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - munmap
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1924,6'
          Dst:             munmap
        - Src:             'os/linux_usbfs.c:1925,3'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1925,3'
          Dst:             usbi_log
    - functionName:    munmap
      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:    op_dev_mem_alloc
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1909
      functionLinenumberEnd: 1919
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - __errno_location
        - mmap
        - usbi_get_device_handle_priv
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1910,78'
          Dst:             usbi_get_device_handle_priv
        - Src:             'os/linux_usbfs.c:1913,11'
          Dst:             mmap
        - Src:             'os/linux_usbfs.c:1915,3'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1915,3'
          Dst:             usbi_log
    - functionName:    mmap
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - size_t
        - int
        - int
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    op_free_streams
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1903
      functionLinenumberEnd: 1905
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - do_streams_ioctl
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1904,9'
          Dst:             do_streams_ioctl
    - functionName:    op_alloc_streams
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1896
      functionLinenumberEnd: 1898
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - do_streams_ioctl
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1897,9'
          Dst:             do_streams_ioctl
    - functionName:    op_reset_device
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1806
      functionLinenumberEnd: 1854
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         30
      ICount:          187
      EdgeCount:       39
      CyclomaticComplexity: 11
      functionsReached:
        - __errno_location
        - detach_kernel_driver_and_claim
        - ioctl
        - libusb_error_name
        - release_interface
        - usbi_get_device_handle_priv
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1807,78'
          Dst:             usbi_get_device_handle_priv
        - Src:             'os/linux_usbfs.c:1819,4'
          Dst:             release_interface
        - Src:             'os/linux_usbfs.c:1822,2'
          Dst:             usbi_mutex_lock
        - Src:             'os/linux_usbfs.c:1823,6'
          Dst:             ioctl
        - Src:             'os/linux_usbfs.c:1825,7'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1830,3'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1830,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:1844,7'
          Dst:             detach_kernel_driver_and_claim
        - Src:             'os/linux_usbfs.c:1846,4'
          Dst:             libusb_error_name
        - Src:             'os/linux_usbfs.c:1846,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:1853,2'
          Dst:             usbi_mutex_unlock
    - functionName:    op_clear_halt
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1786
      functionLinenumberEnd: 1803
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          86
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - ioctl
        - usbi_get_device_handle_priv
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1787,78'
          Dst:             usbi_get_device_handle_priv
        - Src:             'os/linux_usbfs.c:1790,10'
          Dst:             ioctl
        - Src:             'os/linux_usbfs.c:1793,7'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1795,12'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1798,3'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1798,3'
          Dst:             usbi_log
    - functionName:    op_set_interface
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1762
      functionLinenumberEnd: 1782
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          93
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - __errno_location
        - ioctl
        - usbi_get_device_handle_priv
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1763,78'
          Dst:             usbi_get_device_handle_priv
        - Src:             'os/linux_usbfs.c:1770,6'
          Dst:             ioctl
        - Src:             'os/linux_usbfs.c:1772,7'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1774,12'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1777,3'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1777,3'
          Dst:             usbi_log
    - functionName:    op_release_interface
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2066
      functionLinenumberEnd: 2077
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - op_attach_kernel_driver
        - release_interface
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:2069,6'
          Dst:             release_interface
        - Src:             'os/linux_usbfs.c:2074,3'
          Dst:             op_attach_kernel_driver
    - functionName:    op_claim_interface
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2058
      functionLinenumberEnd: 2063
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - claim_interface
        - detach_kernel_driver_and_claim
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:2060,10'
          Dst:             detach_kernel_driver_and_claim
        - Src:             'os/linux_usbfs.c:2062,10'
          Dst:             claim_interface
    - functionName:    op_set_configuration
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1695
      functionLinenumberEnd: 1722
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          134
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - __errno_location
        - dev_has_config0
        - ioctl
        - usbi_get_device_handle_priv
        - usbi_get_device_priv
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1696,63'
          Dst:             usbi_get_device_priv
        - Src:             'os/linux_usbfs.c:1697,78'
          Dst:             usbi_get_device_handle_priv
        - Src:             'os/linux_usbfs.c:1699,10'
          Dst:             ioctl
        - Src:             'os/linux_usbfs.c:1702,7'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1704,12'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1706,12'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1709,3'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1709,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:1715,23'
          Dst:             dev_has_config0
    - functionName:    op_get_configuration
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1667
      functionLinenumberEnd: 1692
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          113
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - sysfs_get_active_config
        - usbfs_get_active_config
        - usbi_get_device_handle_priv
        - usbi_get_device_priv
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1668,63'
          Dst:             usbi_get_device_priv
        - Src:             'os/linux_usbfs.c:1673,7'
          Dst:             sysfs_get_active_config
        - Src:             'os/linux_usbfs.c:1675,79'
          Dst:             usbi_get_device_handle_priv
        - Src:             'os/linux_usbfs.c:1677,7'
          Dst:             usbfs_get_active_config
        - Src:             'os/linux_usbfs.c:1685,3'
          Dst:             usbi_log
    - functionName:    op_get_config_descriptor_by_value
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 994
      functionLinenumberEnd: 1008
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          82
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - usbi_get_device_priv
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:995,63'
          Dst:             usbi_get_device_priv
    - functionName:    op_get_config_descriptor
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1043
      functionLinenumberEnd: 1054
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          79
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - usbi_get_device_priv
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1044,63'
          Dst:             usbi_get_device_priv
    - functionName:    op_get_active_config_descriptor
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1012
      functionLinenumberEnd: 1039
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          111
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - op_get_config_descriptor_by_value
        - sysfs_get_active_config
        - usbi_get_device_priv
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1013,63'
          Dst:             usbi_get_device_priv
        - Src:             'os/linux_usbfs.c:1019,7'
          Dst:             sysfs_get_active_config
        - Src:             'os/linux_usbfs.c:1028,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:1032,6'
          Dst:             op_get_config_descriptor_by_value
    - functionName:    op_close
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1655
      functionLinenumberEnd: 1663
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          67
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - close
        - usbi_get_device_handle_priv
        - usbi_remove_event_source
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1656,78'
          Dst:             usbi_get_device_handle_priv
        - Src:             'os/linux_usbfs.c:1660,3'
          Dst:             usbi_remove_event_source
        - Src:             'os/linux_usbfs.c:1662,3'
          Dst:             close
    - functionName:    op_open
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1628
      functionLinenumberEnd: 1652
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          106
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - close
        - get_usbfs_fd
        - initialize_handle
        - linux_device_disconnected
        - usbi_log
        - usbi_mutex_static_lock
        - usbi_mutex_static_unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1631,7'
          Dst:             get_usbfs_fd
        - Src:             'os/linux_usbfs.c:1636,4'
          Dst:             usbi_mutex_static_lock
        - Src:             'os/linux_usbfs.c:1638,5'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:1639,5'
          Dst:             linux_device_disconnected
        - Src:             'os/linux_usbfs.c:1642,4'
          Dst:             usbi_mutex_static_unlock
        - Src:             'os/linux_usbfs.c:1647,6'
          Dst:             initialize_handle
        - Src:             'os/linux_usbfs.c:1649,3'
          Dst:             close
    - functionName:    op_wrap_sys_device
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1579
      functionLinenumberEnd: 1625
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          146
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - initialize_device
        - initialize_handle
        - ioctl
        - libusb_unref_device
        - linux_get_device_address
        - usbi_alloc_device
        - usbi_get_device_handle_priv
        - usbi_log
        - usbi_sanitize_device
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1580,78'
          Dst:             usbi_get_device_handle_priv
        - Src:             'os/linux_usbfs.c:1587,6'
          Dst:             linux_get_device_address
        - Src:             'os/linux_usbfs.c:1589,7'
          Dst:             ioctl
        - Src:             'os/linux_usbfs.c:1591,4'
          Dst:             __errno_location
        - Src:             'os/linux_usbfs.c:1591,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:1602,2'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:1603,8'
          Dst:             usbi_alloc_device
        - Src:             'os/linux_usbfs.c:1607,6'
          Dst:             initialize_device
        - Src:             'os/linux_usbfs.c:1610,6'
          Dst:             usbi_sanitize_device
        - Src:             'os/linux_usbfs.c:1618,6'
          Dst:             initialize_handle
        - Src:             'os/linux_usbfs.c:1623,3'
          Dst:             libusb_unref_device
    - functionName:    op_hotplug_poll
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 686
      functionLinenumberEnd: 688
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - linux_hotplug_poll
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:687,2'
          Dst:             linux_hotplug_poll
    - functionName:    op_get_interface_string
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 598
      functionLinenumberEnd: 666
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - char
        - char
        - char
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         51
      ICount:          289
      EdgeCount:       69
      CyclomaticComplexity: 20
      functionsReached:
        - __assert_fail
        - read_sysfs_attr
        - read_sysfs_string_attr
        - snprintf
        - usbi_get_device_priv
        - usbi_get_interface_string_index
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:599,63'
          Dst:             usbi_get_device_priv
        - Src:             'os/linux_usbfs.c:607,2'
          Dst:             __assert_fail
        - Src:             'os/linux_usbfs.c:615,6'
          Dst:             usbi_get_interface_string_index
        - Src:             'os/linux_usbfs.c:623,6'
          Dst:             read_sysfs_attr
        - Src:             'os/linux_usbfs.c:631,6'
          Dst:             snprintf
        - Src:             'os/linux_usbfs.c:634,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:639,6'
          Dst:             read_sysfs_attr
        - Src:             'os/linux_usbfs.c:659,7'
          Dst:             usbi_get_interface_string_index
        - Src:             'os/linux_usbfs.c:665,9'
          Dst:             read_sysfs_string_attr
    - functionName:    op_get_config_string
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 552
      functionLinenumberEnd: 593
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          170
      EdgeCount:       41
      CyclomaticComplexity: 12
      functionsReached:
        - __assert_fail
        - read_sysfs_attr
        - read_sysfs_string_attr
        - usbi_get_config_string_index
        - usbi_get_device_priv
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:553,63'
          Dst:             usbi_get_device_priv
        - Src:             'os/linux_usbfs.c:558,2'
          Dst:             __assert_fail
        - Src:             'os/linux_usbfs.c:566,6'
          Dst:             usbi_get_config_string_index
        - Src:             'os/linux_usbfs.c:579,7'
          Dst:             read_sysfs_attr
        - Src:             'os/linux_usbfs.c:586,8'
          Dst:             usbi_get_config_string_index
        - Src:             'os/linux_usbfs.c:592,9'
          Dst:             read_sysfs_string_attr
    - functionName:    op_get_device_string
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 498
      functionLinenumberEnd: 518
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          88
      EdgeCount:       13
      CyclomaticComplexity: 2
      functionsReached:
        - open_sysfs_attr
        - read_sysfs_attr_fd
        - usbi_get_device_priv
      functionUses:    0
      BranchProfiles:
        - Branch String:   'os/linux_usbfs.c:504,2'
          Branch Sides:    []
      Callsites:
        - Src:             'os/linux_usbfs.c:500,63'
          Dst:             usbi_get_device_priv
        - Src:             'os/linux_usbfs.c:513,7'
          Dst:             open_sysfs_attr
        - Src:             'os/linux_usbfs.c:517,9'
          Dst:             read_sysfs_attr_fd
    - functionName:    op_set_option
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 448
      functionLinenumberEnd: 460
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          45
      EdgeCount:       9
      CyclomaticComplexity: 3
      functionsReached:
        - usbi_get_context_priv
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:452,67'
          Dst:             usbi_get_context_priv
        - Src:             'os/linux_usbfs.c:454,3'
          Dst:             usbi_log
    - functionName:    op_exit
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 433
      functionLinenumberEnd: 445
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          52
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - __assert_fail
        - linux_stop_event_monitor
        - usbi_get_context_priv
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:434,66'
          Dst:             usbi_get_context_priv
        - Src:             'os/linux_usbfs.c:440,2'
          Dst:             __assert_fail
        - Src:             'os/linux_usbfs.c:443,3'
          Dst:             linux_stop_event_monitor
    - functionName:    op_init
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 358
      functionLinenumberEnd: 430
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         46
      ICount:          224
      EdgeCount:       61
      CyclomaticComplexity: 17
      functionsReached:
        - find_usbfs_path
        - get_kernel_version
        - kernel_version_ge
        - linux_scan_devices
        - linux_start_event_monitor
        - linux_stop_event_monitor
        - statfs
        - usbi_get_context_priv
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:362,66'
          Dst:             usbi_get_context_priv
        - Src:             'os/linux_usbfs.c:364,6'
          Dst:             get_kernel_version
        - Src:             'os/linux_usbfs.c:367,7'
          Dst:             kernel_version_ge
        - Src:             'os/linux_usbfs.c:368,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:374,15'
          Dst:             find_usbfs_path
        - Src:             'os/linux_usbfs.c:381,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:383,3'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:387,7'
          Dst:             kernel_version_ge
        - Src:             'os/linux_usbfs.c:389,12'
          Dst:             kernel_version_ge
        - Src:             'os/linux_usbfs.c:395,2'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:400,7'
          Dst:             statfs
        - Src:             'os/linux_usbfs.c:402,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:405,4'
          Dst:             usbi_log
        - Src:             'os/linux_usbfs.c:417,7'
          Dst:             linux_start_event_monitor
        - Src:             'os/linux_usbfs.c:420,7'
          Dst:             linux_scan_devices
        - Src:             'os/linux_usbfs.c:424,4'
          Dst:             linux_stop_event_monitor
        - Src:             'os/linux_usbfs.c:426,3'
          Dst:             usbi_log
    - functionName:    statfs
      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:    linux_hotplug_enumerate
      functionSourceFile: '/src/libusb/libusb/os/linux_usbfs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1370
      functionLinenumberEnd: 1378
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - char
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          47
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - linux_enumerate_device
        - usbi_mutex_static_lock
        - usbi_mutex_static_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_usbfs.c:1373,2'
          Dst:             usbi_mutex_static_lock
        - Src:             'os/linux_usbfs.c:1375,3'
          Dst:             linux_enumerate_device
        - Src:             'os/linux_usbfs.c:1377,2'
          Dst:             usbi_mutex_static_unlock
    - functionName:    usbi_mutex_static_unlock
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_mutex_unlock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:39,2'
          Dst:             pthread_mutex_unlock
        - Src:             './os/threads_posix.h:39,2'
          Dst:             __assert_fail
    - functionName:    udev_hotplug_event
      functionSourceFile: '/src/libusb/libusb/os/linux_udev.c'
      linkageType:     InternalLinkage
      functionLinenumber: 231
      functionLinenumberEnd: 265
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          98
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - linux_device_disconnected
        - linux_hotplug_enumerate
        - strncmp
        - udev_device_get_action
        - udev_device_info
        - udev_device_unref
        - usbi_log
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_udev.c:239,17'
          Dst:             udev_device_get_action
        - Src:             'os/linux_udev.c:244,15'
          Dst:             strncmp
        - Src:             'os/linux_udev.c:246,7'
          Dst:             udev_device_info
        - Src:             'os/linux_udev.c:251,3'
          Dst:             usbi_log
        - Src:             'os/linux_udev.c:253,7'
          Dst:             strncmp
        - Src:             'os/linux_udev.c:254,4'
          Dst:             linux_hotplug_enumerate
        - Src:             'os/linux_udev.c:256,4'
          Dst:             linux_device_disconnected
        - Src:             'os/linux_udev.c:257,14'
          Dst:             strncmp
        - Src:             'os/linux_udev.c:260,4'
          Dst:             usbi_log
        - Src:             'os/linux_udev.c:264,2'
          Dst:             udev_device_unref
    - functionName:    udev_device_get_action
      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:    udev_device_info
      functionSourceFile: '/src/libusb/libusb/os/linux_udev.c'
      linkageType:     InternalLinkage
      functionLinenumber: 213
      functionLinenumberEnd: 228
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          63
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - linux_get_device_address
        - udev_device_get_devnode
        - udev_device_get_sysname
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_udev.c:216,13'
          Dst:             udev_device_get_devnode
        - Src:             'os/linux_udev.c:221,14'
          Dst:             udev_device_get_sysname
        - Src:             'os/linux_udev.c:226,9'
          Dst:             linux_get_device_address
    - functionName:    udev_device_unref
      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:    udev_device_get_devnode
      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:    udev_device_get_sysname
      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:    usbi_mutex_static_lock
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_mutex_lock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:35,2'
          Dst:             pthread_mutex_lock
        - Src:             './os/threads_posix.h:35,2'
          Dst:             __assert_fail
    - functionName:    linux_udev_hotplug_poll
      functionSourceFile: '/src/libusb/libusb/os/linux_udev.c'
      linkageType:     InternalLinkage
      functionLinenumber: 311
      functionLinenumberEnd: 323
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          43
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - udev_hotplug_event
        - udev_monitor_receive_device
        - usbi_log
        - usbi_mutex_static_lock
        - usbi_mutex_static_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_udev.c:314,2'
          Dst:             usbi_mutex_static_lock
        - Src:             'os/linux_udev.c:316,14'
          Dst:             udev_monitor_receive_device
        - Src:             'os/linux_udev.c:318,4'
          Dst:             usbi_log
        - Src:             'os/linux_udev.c:319,4'
          Dst:             udev_hotplug_event
        - Src:             'os/linux_udev.c:322,2'
          Dst:             usbi_mutex_static_unlock
    - functionName:    udev_monitor_receive_device
      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:    linux_udev_scan_devices
      functionSourceFile: '/src/libusb/libusb/os/linux_udev.c'
      linkageType:     InternalLinkage
      functionLinenumber: 268
      functionLinenumberEnd: 308
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          107
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - linux_enumerate_device
        - udev_device_info
        - udev_device_new_from_syspath
        - udev_device_unref
        - udev_enumerate_add_match_property
        - udev_enumerate_add_match_subsystem
        - udev_enumerate_get_list_entry
        - udev_enumerate_new
        - udev_enumerate_scan_devices
        - udev_enumerate_unref
        - udev_list_entry_get_name
        - udev_list_entry_get_next
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_udev.c:275,2'
          Dst:             __assert_fail
        - Src:             'os/linux_udev.c:277,15'
          Dst:             udev_enumerate_new
        - Src:             'os/linux_udev.c:279,3'
          Dst:             usbi_log
        - Src:             'os/linux_udev.c:283,2'
          Dst:             udev_enumerate_add_match_subsystem
        - Src:             'os/linux_udev.c:284,2'
          Dst:             udev_enumerate_add_match_property
        - Src:             'os/linux_udev.c:285,2'
          Dst:             udev_enumerate_scan_devices
        - Src:             'os/linux_udev.c:286,12'
          Dst:             udev_enumerate_get_list_entry
        - Src:             'os/linux_udev.c:290,22'
          Dst:             udev_list_entry_get_name
        - Src:             'os/linux_udev.c:293,14'
          Dst:             udev_device_new_from_syspath
        - Src:             'os/linux_udev.c:295,7'
          Dst:             udev_device_info
        - Src:             'os/linux_udev.c:297,4'
          Dst:             udev_device_unref
        - Src:             'os/linux_udev.c:301,3'
          Dst:             linux_enumerate_device
        - Src:             'os/linux_udev.c:302,3'
          Dst:             udev_device_unref
        - Src:             'os/linux_udev.c:289,2'
          Dst:             udev_list_entry_get_next
        - Src:             'os/linux_udev.c:305,2'
          Dst:             udev_enumerate_unref
    - functionName:    udev_enumerate_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:    udev_enumerate_add_match_subsystem
      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:    udev_enumerate_add_match_property
      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:    udev_enumerate_scan_devices
      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:    udev_enumerate_get_list_entry
      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:    udev_list_entry_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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    udev_device_new_from_syspath
      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:    udev_list_entry_get_next
      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:    udev_enumerate_unref
      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:    linux_udev_stop_event_monitor
      functionSourceFile: '/src/libusb/libusb/os/linux_udev.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         15
      ICount:          70
      EdgeCount:       16
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
        - pthread_join
        - udev_monitor_unref
        - udev_unref
        - usbi_destroy_event
        - usbi_log
        - usbi_signal_event
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_udev.c:137,2'
          Dst:             __assert_fail
        - Src:             'os/linux_udev.c:138,2'
          Dst:             __assert_fail
        - Src:             'os/linux_udev.c:139,2'
          Dst:             __assert_fail
        - Src:             'os/linux_udev.c:142,2'
          Dst:             usbi_signal_event
        - Src:             'os/linux_udev.c:144,6'
          Dst:             pthread_join
        - Src:             'os/linux_udev.c:146,3'
          Dst:             usbi_log
        - Src:             'os/linux_udev.c:148,2'
          Dst:             usbi_destroy_event
        - Src:             'os/linux_udev.c:152,2'
          Dst:             udev_monitor_unref
        - Src:             'os/linux_udev.c:157,2'
          Dst:             udev_unref
    - functionName:    pthread_join
      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:    udev_monitor_unref
      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:    udev_unref
      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:    linux_udev_event_thread_main
      functionSourceFile: '/src/libusb/libusb/os/linux_udev.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          116
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - __errno_location
        - poll
        - pthread_self
        - pthread_setname_np
        - udev_hotplug_event
        - udev_monitor_receive_device
        - usbi_log
        - usbi_mutex_static_lock
        - usbi_mutex_static_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_udev.c:177,25'
          Dst:             pthread_self
        - Src:             'os/linux_udev.c:177,6'
          Dst:             pthread_setname_np
        - Src:             'os/linux_udev.c:179,3'
          Dst:             usbi_log
        - Src:             'os/linux_udev.c:182,2'
          Dst:             usbi_log
        - Src:             'os/linux_udev.c:185,7'
          Dst:             poll
        - Src:             'os/linux_udev.c:188,8'
          Dst:             __errno_location
        - Src:             'os/linux_udev.c:190,4'
          Dst:             __errno_location
        - Src:             'os/linux_udev.c:190,4'
          Dst:             usbi_log
        - Src:             'os/linux_udev.c:198,4'
          Dst:             usbi_mutex_static_lock
        - Src:             'os/linux_udev.c:199,15'
          Dst:             udev_monitor_receive_device
        - Src:             'os/linux_udev.c:201,5'
          Dst:             udev_hotplug_event
        - Src:             'os/linux_udev.c:202,4'
          Dst:             usbi_mutex_static_unlock
        - Src:             'os/linux_udev.c:206,2'
          Dst:             usbi_log
    - functionName:    pthread_setname_np
      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:    linux_udev_start_event_monitor
      functionSourceFile: '/src/libusb/libusb/os/linux_udev.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         37
      ICount:          196
      EdgeCount:       49
      CyclomaticComplexity: 14
      functionsReached:
        - __assert_fail
        - __errno_location
        - fcntl
        - linux_udev_event_thread_main
        - pthread_create
        - udev_monitor_enable_receiving
        - udev_monitor_filter_add_match_subsystem_devtype
        - udev_monitor_get_fd
        - udev_monitor_new_from_netlink
        - udev_monitor_unref
        - udev_new
        - udev_unref
        - usbi_create_event
        - usbi_destroy_event
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'os/linux_udev.c:50,2'
          Dst:             __assert_fail
        - Src:             'os/linux_udev.c:51,13'
          Dst:             udev_new
        - Src:             'os/linux_udev.c:53,3'
          Dst:             usbi_log
        - Src:             'os/linux_udev.c:57,17'
          Dst:             udev_monitor_new_from_netlink
        - Src:             'os/linux_udev.c:59,3'
          Dst:             usbi_log
        - Src:             'os/linux_udev.c:63,6'
          Dst:             udev_monitor_filter_add_match_subsystem_devtype
        - Src:             'os/linux_udev.c:65,3'
          Dst:             usbi_log
        - Src:             'os/linux_udev.c:69,6'
          Dst:             udev_monitor_enable_receiving
        - Src:             'os/linux_udev.c:70,3'
          Dst:             usbi_log
        - Src:             'os/linux_udev.c:74,20'
          Dst:             udev_monitor_get_fd
        - Src:             'os/linux_udev.c:78,6'
          Dst:             fcntl
        - Src:             'os/linux_udev.c:80,3'
          Dst:             __errno_location
        - Src:             'os/linux_udev.c:80,3'
          Dst:             usbi_log
        - Src:             'os/linux_udev.c:84,7'
          Dst:             fcntl
        - Src:             'os/linux_udev.c:85,4'
          Dst:             __errno_location
        - Src:             'os/linux_udev.c:85,4'
          Dst:             usbi_log
        - Src:             'os/linux_udev.c:93,6'
          Dst:             fcntl
        - Src:             'os/linux_udev.c:95,3'
          Dst:             __errno_location
        - Src:             'os/linux_udev.c:95,3'
          Dst:             usbi_log
        - Src:             'os/linux_udev.c:99,7'
          Dst:             fcntl
        - Src:             'os/linux_udev.c:100,4'
          Dst:             __errno_location
        - Src:             'os/linux_udev.c:100,4'
          Dst:             usbi_log
        - Src:             'os/linux_udev.c:105,6'
          Dst:             usbi_create_event
        - Src:             'os/linux_udev.c:107,3'
          Dst:             usbi_log
        - Src:             'os/linux_udev.c:111,6'
          Dst:             pthread_create
        - Src:             'os/linux_udev.c:111,6'
          Dst:             linux_udev_event_thread_main
        - Src:             'os/linux_udev.c:113,3'
          Dst:             usbi_log
        - Src:             'os/linux_udev.c:120,2'
          Dst:             usbi_destroy_event
        - Src:             'os/linux_udev.c:123,2'
          Dst:             udev_monitor_unref
        - Src:             'os/linux_udev.c:127,2'
          Dst:             udev_unref
    - functionName:    udev_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:    udev_monitor_new_from_netlink
      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:    udev_monitor_filter_add_match_subsystem_devtype
      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:    udev_monitor_enable_receiving
      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:    udev_monitor_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:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fcntl
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pthread_create
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    log_str
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2892
      functionLinenumberEnd: 2931
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - fputs
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:2929,3'
          Dst:             fputs
    - functionName:    fputs
      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:    usbi_tls_key_get
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pthread_getspecific
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:94,9'
          Dst:             pthread_getspecific
    - functionName:    libusb_get_version
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3119
      functionLinenumberEnd: 3120
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_error_name
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3064
      functionLinenumberEnd: 3111
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         23
      ICount:          117
      EdgeCount:       44
      CyclomaticComplexity: 23
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'core.c:3065,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    log_v
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2935
      functionLinenumberEnd: 3039
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          300
      EdgeCount:       55
      CyclomaticComplexity: 12
      functionsReached:
        - __assert_fail
        - get_env_debug_level
        - log_str
        - snprintf
        - usbi_get_monotonic_time
        - usbi_get_tid
        - vsnprintf
      functionUses:    1
      BranchProfiles:
        - Branch String:   'core.c:2961,2'
          Branch Sides:    []
      Callsites:
        - Src:             'core.c:2952,41'
          Dst:             get_env_debug_level
        - Src:             'core.c:2963,3'
          Dst:             __assert_fail
        - Src:             'core.c:2987,4'
          Dst:             log_str
        - Src:             'core.c:2988,4'
          Dst:             log_str
        - Src:             'core.c:2991,3'
          Dst:             usbi_get_monotonic_time
        - Src:             'core.c:2996,63'
          Dst:             usbi_get_tid
        - Src:             'core.c:2994,16'
          Dst:             snprintf
        - Src:             'core.c:2998,16'
          Dst:             snprintf
        - Src:             'core.c:3012,13'
          Dst:             vsnprintf
        - Src:             'core.c:3022,9'
          Dst:             snprintf
        - Src:             'core.c:3027,9'
          Dst:             snprintf
        - Src:             'core.c:3032,2'
          Dst:             log_str
    - functionName:    get_env_debug_level
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2565
      functionLinenumberEnd: 2573
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         12
      ICount:          57
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - getenv
        - strtol
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:2567,20'
          Dst:             getenv
        - Src:             'core.c:2569,20'
          Dst:             strtol
    - functionName:    usbi_get_monotonic_time
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 562
      functionLinenumberEnd: 564
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - clock_gettime
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './libusbi.h:563,2'
          Dst:             clock_gettime
        - Src:             './libusbi.h:563,2'
          Dst:             __assert_fail
    - 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:    1
      BranchProfiles:  []
      Callsites:       []
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_exit
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2760
      functionLinenumberEnd: 2823
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         27
      ICount:          173
      EdgeCount:       35
      CyclomaticComplexity: 10
      functionsReached:
        - list_del
        - usbi_hotplug_exit
        - usbi_io_exit
        - usbi_log
        - usbi_mutex_destroy
        - usbi_mutex_static_lock
        - usbi_mutex_static_unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:2764,2'
          Dst:             usbi_mutex_static_lock
        - Src:             'core.c:2770,4'
          Dst:             usbi_log
        - Src:             'core.c:2771,4'
          Dst:             usbi_mutex_static_unlock
        - Src:             'core.c:2776,4'
          Dst:             usbi_log
        - Src:             'core.c:2777,4'
          Dst:             usbi_mutex_static_unlock
        - Src:             'core.c:2781,3'
          Dst:             usbi_log
        - Src:             'core.c:2784,3'
          Dst:             usbi_log
        - Src:             'core.c:2788,2'
          Dst:             usbi_mutex_static_lock
        - Src:             'core.c:2789,2'
          Dst:             list_del
        - Src:             'core.c:2790,2'
          Dst:             usbi_mutex_static_unlock
        - Src:             'core.c:2793,2'
          Dst:             usbi_hotplug_exit
        - Src:             'core.c:2803,2'
          Dst:             usbi_mutex_static_unlock
        - Src:             'core.c:2808,2'
          Dst:             usbi_io_exit
        - Src:             'core.c:2811,3'
          Dst:             usbi_log
        - Src:             'core.c:2817,3'
          Dst:             usbi_log
        - Src:             'core.c:2819,2'
          Dst:             usbi_mutex_destroy
        - Src:             'core.c:2820,2'
          Dst:             usbi_mutex_destroy
    - functionName:    usbi_mutex_static_lock
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_mutex_lock
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:35,2'
          Dst:             pthread_mutex_lock
        - Src:             './os/threads_posix.h:35,2'
          Dst:             __assert_fail
    - functionName:    usbi_log
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3043
      functionLinenumberEnd: 3049
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - log_v
      functionUses:    322
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:3047,2'
          Dst:             log_v
    - functionName:    usbi_mutex_static_unlock
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_mutex_unlock
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:39,2'
          Dst:             pthread_mutex_unlock
        - Src:             './os/threads_posix.h:39,2'
          Dst:             __assert_fail
    - functionName:    list_del
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 241
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          28
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_mutex_destroy
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_mutex_destroy
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:62,2'
          Dst:             pthread_mutex_destroy
        - Src:             './os/threads_posix.h:62,2'
          Dst:             __assert_fail
    - functionName:    list_init
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_init_context
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2606
      functionLinenumberEnd: 2752
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         73
      ICount:          438
      EdgeCount:       93
      CyclomaticComplexity: 22
      functionsReached:
        - calloc
        - get_env_debug_level
        - getenv
        - libusb_set_option
        - list_add
        - list_del
        - list_init
        - usbi_get_monotonic_time
        - usbi_hotplug_exit
        - usbi_hotplug_init
        - usbi_io_exit
        - usbi_io_init
        - usbi_log
        - usbi_mutex_destroy
        - usbi_mutex_init
        - usbi_mutex_static_lock
        - usbi_mutex_static_unlock
      functionUses:    1
      BranchProfiles:
        - Branch String:   'core.c:2665,3'
          Branch Sides:    []
      Callsites:
        - Src:             'core.c:2611,2'
          Dst:             usbi_mutex_static_lock
        - Src:             'core.c:2614,3'
          Dst:             usbi_log
        - Src:             'core.c:2616,3'
          Dst:             usbi_mutex_static_unlock
        - Src:             'core.c:2621,2'
          Dst:             usbi_mutex_static_lock
        - Src:             'core.c:2623,3'
          Dst:             list_init
        - Src:             'core.c:2624,3'
          Dst:             usbi_get_monotonic_time
        - Src:             'core.c:2626,2'
          Dst:             usbi_mutex_static_unlock
        - Src:             'core.c:2628,34'
          Dst:             calloc
        - Src:             'core.c:2630,3'
          Dst:             usbi_mutex_static_unlock
        - Src:             'core.c:2636,6'
          Dst:             getenv
        - Src:             'core.c:2637,17'
          Dst:             get_env_debug_level
        - Src:             'core.c:2644,2'
          Dst:             usbi_mutex_init
        - Src:             'core.c:2645,2'
          Dst:             usbi_mutex_init
        - Src:             'core.c:2646,2'
          Dst:             list_init
        - Src:             'core.c:2647,2'
          Dst:             list_init
        - Src:             'core.c:2655,8'
          Dst:             libusb_set_option
        - Src:             'core.c:2657,8'
          Dst:             libusb_set_option
        - Src:             'core.c:2667,8'
          Dst:             libusb_set_option
        - Src:             'core.c:2675,8'
          Dst:             libusb_set_option
        - Src:             'core.c:2688,3'
          Dst:             usbi_log
        - Src:             'core.c:2691,2'
          Dst:             usbi_log
        - Src:             'core.c:2695,6'
          Dst:             usbi_io_init
        - Src:             'core.c:2699,2'
          Dst:             usbi_mutex_static_lock
        - Src:             'core.c:2700,2'
          Dst:             list_add
        - Src:             'core.c:2701,2'
          Dst:             usbi_mutex_static_unlock
        - Src:             'core.c:2710,2'
          Dst:             usbi_hotplug_init
        - Src:             'core.c:2721,4'
          Dst:             usbi_log
        - Src:             'core.c:2725,2'
          Dst:             usbi_mutex_static_unlock
        - Src:             'core.c:2730,2'
          Dst:             usbi_mutex_static_lock
        - Src:             'core.c:2731,2'
          Dst:             list_del
        - Src:             'core.c:2732,2'
          Dst:             usbi_mutex_static_unlock
        - Src:             'core.c:2734,2'
          Dst:             usbi_hotplug_exit
        - Src:             'core.c:2735,2'
          Dst:             usbi_io_exit
        - Src:             'core.c:2744,2'
          Dst:             usbi_mutex_destroy
        - Src:             'core.c:2745,2'
          Dst:             usbi_mutex_destroy
        - Src:             'core.c:2749,2'
          Dst:             usbi_mutex_static_unlock
    - functionName:    usbi_mutex_init
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_mutex_init
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:45,2'
          Dst:             pthread_mutex_init
        - Src:             './os/threads_posix.h:45,2'
          Dst:             __assert_fail
    - functionName:    libusb_set_option
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2476
      functionLinenumberEnd: 2556
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         61
      ICount:          306
      EdgeCount:       77
      CyclomaticComplexity: 18
      functionsReached:
        - libusb_set_log_cb_internal
        - usbi_get_context
        - usbi_mutex_static_lock
        - usbi_mutex_static_unlock
      functionUses:    5
      BranchProfiles:
        - Branch String:   'core.c:2522,3'
          Branch Sides:    []
      Callsites:
        - Src:             'core.c:2507,4'
          Dst:             usbi_mutex_static_lock
        - Src:             'core.c:2513,5'
          Dst:             libusb_set_log_cb_internal
        - Src:             'core.c:2515,4'
          Dst:             usbi_mutex_static_unlock
        - Src:             'core.c:2518,9'
          Dst:             usbi_get_context
        - Src:             'core.c:2545,4'
          Dst:             libusb_set_log_cb_internal
    - functionName:    list_add
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 222
      functionLinenumberEnd: 228
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          28
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_set_log_cb_internal
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2401
      functionLinenumberEnd: 2420
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - usbi_get_context
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:2409,9'
          Dst:             usbi_get_context
    - functionName:    usbi_get_context
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 467
      functionLinenumberEnd: 480
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          59
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - usbi_log
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './libusbi.h:476,4'
          Dst:             usbi_log
    - functionName:    libusb_init
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2583
      functionLinenumberEnd: 2584
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - libusb_init_context
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:2584,9'
          Dst:             libusb_init_context
    - functionName:    libusb_set_log_cb
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2447
      functionLinenumberEnd: 2449
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - libusb_set_log_cb_internal
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:2448,2'
          Dst:             libusb_set_log_cb_internal
    - functionName:    libusb_set_debug
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2395
      functionLinenumberEnd: 2397
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - libusb_set_option
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:2396,2'
          Dst:             libusb_set_option
    - functionName:    libusb_get_max_raw_io_transfer_size
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2382
      functionLinenumberEnd: 2388
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_endpoint_set_raw_io
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2358
      functionLinenumberEnd: 2363
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_endpoint_supports_raw_io
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2306
      functionLinenumberEnd: 2317
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          54
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - __assert_fail
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:2313,2'
          Dst:             __assert_fail
        - Src:             'core.c:2314,2'
          Dst:             __assert_fail
    - functionName:    libusb_set_auto_detach_kernel_driver
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2277
      functionLinenumberEnd: 2283
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          29
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_attach_kernel_driver
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2238
      functionLinenumberEnd: 2251
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          90
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:2239,2'
          Dst:             usbi_log
    - functionName:    libusb_detach_kernel_driver
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2202
      functionLinenumberEnd: 2215
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          90
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:2203,2'
          Dst:             usbi_log
    - functionName:    libusb_kernel_driver_active
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2164
      functionLinenumberEnd: 2177
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          90
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:2165,2'
          Dst:             usbi_log
    - functionName:    libusb_dev_mem_free
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2138
      functionLinenumberEnd: 2143
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_dev_mem_alloc
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2118
      functionLinenumberEnd: 2126
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          52
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_free_streams
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2075
      functionLinenumberEnd: 2089
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          91
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:2076,2'
          Dst:             usbi_log
    - functionName:    libusb_alloc_streams
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2045
      functionLinenumberEnd: 2059
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          103
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:2046,2'
          Dst:             usbi_log
    - functionName:    libusb_reset_device
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2011
      functionLinenumberEnd: 2020
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          67
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:2012,2'
          Dst:             usbi_log
    - functionName:    libusb_clear_halt
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1983
      functionLinenumberEnd: 1989
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          64
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:1984,2'
          Dst:             usbi_log
    - functionName:    libusb_set_interface_alt_setting
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1942
      functionLinenumberEnd: 1963
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          129
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:1943,2'
          Dst:             usbi_log
        - Src:             'core.c:1954,2'
          Dst:             usbi_mutex_lock
        - Src:             'core.c:1956,3'
          Dst:             usbi_mutex_unlock
        - Src:             'core.c:1959,2'
          Dst:             usbi_mutex_unlock
    - functionName:    usbi_mutex_lock
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_mutex_lock
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:49,2'
          Dst:             pthread_mutex_lock
        - Src:             './os/threads_posix.h:49,2'
          Dst:             __assert_fail
    - functionName:    usbi_mutex_unlock
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_mutex_unlock
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:53,2'
          Dst:             pthread_mutex_unlock
        - Src:             './os/threads_posix.h:53,2'
          Dst:             __assert_fail
    - functionName:    libusb_release_interface
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1897
      functionLinenumberEnd: 1917
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          109
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:1900,2'
          Dst:             usbi_log
        - Src:             'core.c:1904,2'
          Dst:             usbi_mutex_lock
        - Src:             'core.c:1915,2'
          Dst:             usbi_mutex_unlock
    - functionName:    libusb_claim_interface
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1853
      functionLinenumberEnd: 1874
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          124
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:1856,2'
          Dst:             usbi_log
        - Src:             'core.c:1863,2'
          Dst:             usbi_mutex_lock
        - Src:             'core.c:1872,2'
          Dst:             usbi_mutex_unlock
    - functionName:    libusb_set_configuration
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1816
      functionLinenumberEnd: 1821
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          65
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:1817,2'
          Dst:             usbi_log
    - functionName:    libusb_get_configuration
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1729
      functionLinenumberEnd: 1757
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          120
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - libusb_control_transfer
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:1734,2'
          Dst:             usbi_log
        - Src:             'core.c:1739,3'
          Dst:             usbi_log
        - Src:             'core.c:1740,7'
          Dst:             libusb_control_transfer
        - Src:             'core.c:1745,4'
          Dst:             usbi_log
        - Src:             'core.c:1748,4'
          Dst:             usbi_log
        - Src:             'core.c:1753,3'
          Dst:             usbi_log
    - functionName:    libusb_get_device
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1703
      functionLinenumberEnd: 1704
      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:    do_close
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1575
      functionLinenumberEnd: 1627
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          142
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - libusb_unref_device
        - list_del
        - usbi_log
        - usbi_mutex_destroy
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:1580,2'
          Dst:             usbi_mutex_lock
        - Src:             'core.c:1591,3'
          Dst:             usbi_mutex_lock
        - Src:             'core.c:1593,3'
          Dst:             usbi_mutex_unlock
        - Src:             'core.c:1595,4'
          Dst:             usbi_log
        - Src:             'core.c:1598,5'
          Dst:             usbi_log
        - Src:             'core.c:1600,5'
          Dst:             usbi_log
        - Src:             'core.c:1607,3'
          Dst:             list_del
        - Src:             'core.c:1614,3'
          Dst:             usbi_log
        - Src:             'core.c:1617,2'
          Dst:             usbi_mutex_unlock
        - Src:             'core.c:1619,2'
          Dst:             usbi_mutex_lock
        - Src:             'core.c:1620,2'
          Dst:             list_del
        - Src:             'core.c:1621,2'
          Dst:             usbi_mutex_unlock
        - Src:             'core.c:1624,2'
          Dst:             libusb_unref_device
        - Src:             'core.c:1625,2'
          Dst:             usbi_mutex_destroy
    - functionName:    libusb_unref_device
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1349
      functionLinenumberEnd: 1391
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         29
      ICount:          185
      EdgeCount:       36
      CyclomaticComplexity: 9
      functionsReached:
        - __assert_fail
        - libusb_has_capability
        - libusb_unref_device
        - list_del
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:1355,7'
          Dst:             libusb_has_capability
        - Src:             'core.c:1364,3'
          Dst:             usbi_mutex_lock
        - Src:             'core.c:1366,3'
          Dst:             __assert_fail
        - Src:             'core.c:1368,4'
          Dst:             list_del
        - Src:             'core.c:1371,3'
          Dst:             usbi_mutex_unlock
        - Src:             'core.c:1374,3'
          Dst:             __assert_fail
        - Src:             'core.c:1378,3'
          Dst:             usbi_log
        - Src:             'core.c:1380,3'
          Dst:             libusb_unref_device
    - functionName:    libusb_has_capability
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2834
      functionLinenumberEnd: 2846
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          45
      EdgeCount:       12
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    7
      BranchProfiles:
        - Branch String:   'core.c:2835,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    usbi_handling_events
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 505
      functionLinenumberEnd: 506
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - usbi_tls_key_get
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './libusbi.h:506,9'
          Dst:             usbi_tls_key_get
    - functionName:    libusb_close
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1641
      functionLinenumberEnd: 1692
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          161
      EdgeCount:       34
      CyclomaticComplexity: 10
      functionsReached:
        - do_close
        - libusb_lock_events
        - libusb_unlock_events
        - usbi_clear_event
        - usbi_handling_events
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
        - usbi_signal_event
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:1649,2'
          Dst:             usbi_log
        - Src:             'core.c:1651,20'
          Dst:             usbi_handling_events
        - Src:             'core.c:1664,3'
          Dst:             usbi_mutex_lock
        - Src:             'core.c:1669,4'
          Dst:             usbi_signal_event
        - Src:             'core.c:1670,3'
          Dst:             usbi_mutex_unlock
        - Src:             'core.c:1673,3'
          Dst:             libusb_lock_events
        - Src:             'core.c:1677,2'
          Dst:             do_close
        - Src:             'core.c:1682,3'
          Dst:             usbi_mutex_lock
        - Src:             'core.c:1686,4'
          Dst:             usbi_clear_event
        - Src:             'core.c:1687,3'
          Dst:             usbi_mutex_unlock
        - Src:             'core.c:1690,3'
          Dst:             libusb_unlock_events
    - functionName:    libusb_open_device_with_vid_pid
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1540
      functionLinenumberEnd: 1571
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - short
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          125
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - libusb_free_device_list
        - libusb_get_device_descriptor
        - libusb_get_device_list
        - libusb_open
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:1548,6'
          Dst:             libusb_get_device_list
        - Src:             'core.c:1553,7'
          Dst:             libusb_get_device_descriptor
        - Src:             'core.c:1563,7'
          Dst:             libusb_open
        - Src:             'core.c:1569,2'
          Dst:             libusb_free_device_list
    - functionName:    libusb_get_device_list
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 851
      functionLinenumberEnd: 910
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         31
      ICount:          197
      EdgeCount:       40
      CyclomaticComplexity: 11
      functionsReached:
        - calloc
        - discovered_devs_alloc
        - discovered_devs_append
        - discovered_devs_free
        - libusb_has_capability
        - libusb_ref_device
        - usbi_get_context
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:852,37'
          Dst:             discovered_devs_alloc
        - Src:             'core.c:857,2'
          Dst:             usbi_log
        - Src:             'core.c:862,8'
          Dst:             usbi_get_context
        - Src:             'core.c:864,6'
          Dst:             libusb_has_capability
        - Src:             'core.c:871,3'
          Dst:             usbi_mutex_lock
        - Src:             'core.c:873,15'
          Dst:             discovered_devs_append
        - Src:             'core.c:880,3'
          Dst:             usbi_mutex_unlock
        - Src:             'core.c:893,33'
          Dst:             calloc
        - Src:             'core.c:902,12'
          Dst:             libusb_ref_device
        - Src:             'core.c:908,3'
          Dst:             discovered_devs_free
    - functionName:    libusb_open
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1485
      functionLinenumberEnd: 1519
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          128
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - calloc
        - libusb_ref_device
        - libusb_unref_device
        - list_add
        - usbi_log
        - usbi_mutex_destroy
        - usbi_mutex_init
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:1491,2'
          Dst:             usbi_log
        - Src:             'core.c:1496,47'
          Dst:             calloc
        - Src:             'core.c:1500,2'
          Dst:             usbi_mutex_init
        - Src:             'core.c:1502,21'
          Dst:             libusb_ref_device
        - Src:             'core.c:1506,3'
          Dst:             usbi_log
        - Src:             'core.c:1507,3'
          Dst:             libusb_unref_device
        - Src:             'core.c:1508,3'
          Dst:             usbi_mutex_destroy
        - Src:             'core.c:1513,2'
          Dst:             usbi_mutex_lock
        - Src:             'core.c:1514,2'
          Dst:             list_add
        - Src:             'core.c:1515,2'
          Dst:             usbi_mutex_unlock
    - functionName:    libusb_free_device_list
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 921
      functionLinenumberEnd: 933
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          57
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - libusb_unref_device
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:930,4'
          Dst:             libusb_unref_device
    - functionName:    libusb_ref_device
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1333
      functionLinenumberEnd: 1340
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          42
      EdgeCount:       8
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:1337,2'
          Dst:             __assert_fail
    - functionName:    discovered_devs_alloc
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 667
      functionLinenumberEnd: 675
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    discovered_devs_append
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 692
      functionLinenumberEnd: 722
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          98
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - discovered_devs_free
        - libusb_ref_device
        - realloc
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:699,28'
          Dst:             libusb_ref_device
        - Src:             'core.c:705,2'
          Dst:             usbi_log
        - Src:             'core.c:709,43'
          Dst:             realloc
        - Src:             'core.c:712,3'
          Dst:             discovered_devs_free
        - Src:             'core.c:718,27'
          Dst:             libusb_ref_device
    - functionName:    discovered_devs_free
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 679
      functionLinenumberEnd: 686
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          42
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - libusb_unref_device
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:683,3'
          Dst:             libusb_unref_device
    - functionName:    libusb_wrap_sys_device
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1430
      functionLinenumberEnd: 1462
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          99
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - calloc
        - list_add
        - usbi_get_context
        - usbi_log
        - usbi_mutex_destroy
        - usbi_mutex_init
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:1435,2'
          Dst:             usbi_log
        - Src:             'core.c:1437,8'
          Dst:             usbi_get_context
        - Src:             'core.c:1442,47'
          Dst:             calloc
        - Src:             'core.c:1446,2'
          Dst:             usbi_mutex_init
        - Src:             'core.c:1450,3'
          Dst:             usbi_log
        - Src:             'core.c:1451,3'
          Dst:             usbi_mutex_destroy
        - Src:             'core.c:1456,2'
          Dst:             usbi_mutex_lock
        - Src:             'core.c:1457,2'
          Dst:             list_add
        - Src:             'core.c:1458,2'
          Dst:             usbi_mutex_unlock
    - functionName:    find_alt_endpoint
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1150
      functionLinenumberEnd: 1172
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          102
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_get_max_alt_packet_size
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1300
      functionLinenumberEnd: 1324
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - find_alt_endpoint
        - get_endpoint_max_packet_size
        - libusb_free_config_descriptor
        - libusb_get_active_config_descriptor
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:1305,6'
          Dst:             libusb_get_active_config_descriptor
        - Src:             'core.c:1307,3'
          Dst:             usbi_log
        - Src:             'core.c:1312,7'
          Dst:             find_alt_endpoint
        - Src:             'core.c:1319,6'
          Dst:             get_endpoint_max_packet_size
        - Src:             'core.c:1322,2'
          Dst:             libusb_free_config_descriptor
    - functionName:    get_endpoint_max_packet_size
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1176
      functionLinenumberEnd: 1203
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          123
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - libusb_free_ss_endpoint_companion_descriptor
        - libusb_get_device_speed
        - libusb_get_ss_endpoint_companion_descriptor
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:1183,10'
          Dst:             libusb_get_device_speed
        - Src:             'core.c:1185,7'
          Dst:             libusb_get_ss_endpoint_companion_descriptor
        - Src:             'core.c:1188,4'
          Dst:             libusb_free_ss_endpoint_companion_descriptor
    - functionName:    libusb_get_device_speed
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1075
      functionLinenumberEnd: 1076
      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:    libusb_get_max_iso_packet_size
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1241
      functionLinenumberEnd: 1264
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          61
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - find_endpoint
        - get_endpoint_max_packet_size
        - libusb_free_config_descriptor
        - libusb_get_active_config_descriptor
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:1246,6'
          Dst:             libusb_get_active_config_descriptor
        - Src:             'core.c:1248,3'
          Dst:             usbi_log
        - Src:             'core.c:1253,7'
          Dst:             find_endpoint
        - Src:             'core.c:1259,6'
          Dst:             get_endpoint_max_packet_size
        - Src:             'core.c:1262,2'
          Dst:             libusb_free_config_descriptor
    - functionName:    find_endpoint
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1081
      functionLinenumberEnd: 1102
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          110
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_get_max_packet_size
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1122
      functionLinenumberEnd: 1145
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          62
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - find_endpoint
        - libusb_free_config_descriptor
        - libusb_get_active_config_descriptor
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:1127,6'
          Dst:             libusb_get_active_config_descriptor
        - Src:             'core.c:1129,3'
          Dst:             usbi_log
        - Src:             'core.c:1134,7'
          Dst:             find_endpoint
        - Src:             'core.c:1143,2'
          Dst:             libusb_free_config_descriptor
    - functionName:    libusb_get_device_address
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1064
      functionLinenumberEnd: 1065
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_get_parent
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1054
      functionLinenumberEnd: 1055
      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:    libusb_get_port_path
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1035
      functionLinenumberEnd: 1038
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          30
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - libusb_get_port_numbers
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:1038,9'
          Dst:             libusb_get_port_numbers
    - functionName:    libusb_get_port_numbers
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 997
      functionLinenumberEnd: 1028
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          137
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:1012,3'
          Dst:             usbi_log
    - functionName:    libusb_get_port_number
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 980
      functionLinenumberEnd: 981
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_get_bus_number
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 961
      functionLinenumberEnd: 962
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_get_session_data
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 951
      functionLinenumberEnd: 952
      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:    usbi_get_device_by_session_id
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 813
      functionLinenumberEnd: 826
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          67
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - libusb_ref_device
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:817,2'
          Dst:             usbi_mutex_lock
        - Src:             'core.c:820,10'
          Dst:             libusb_ref_device
        - Src:             'core.c:824,2'
          Dst:             usbi_mutex_unlock
    - functionName:    usbi_sanitize_device
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 788
      functionLinenumberEnd: 806
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          88
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - usbi_log
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:793,3'
          Dst:             usbi_log
        - Src:             'core.c:799,3'
          Dst:             usbi_log
        - Src:             'core.c:802,3'
          Dst:             usbi_log
    - functionName:    usbi_disconnect_device
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 779
      functionLinenumberEnd: 782
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - usbi_detach_device
        - usbi_hotplug_notification
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:780,2'
          Dst:             usbi_detach_device
        - Src:             'core.c:781,2'
          Dst:             usbi_hotplug_notification
    - functionName:    usbi_detach_device
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 768
      functionLinenumberEnd: 776
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - list_del
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:773,2'
          Dst:             usbi_mutex_lock
        - Src:             'core.c:774,2'
          Dst:             list_del
        - Src:             'core.c:775,2'
          Dst:             usbi_mutex_unlock
    - functionName:    usbi_connect_device
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 762
      functionLinenumberEnd: 765
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - usbi_attach_device
        - usbi_hotplug_notification
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:763,2'
          Dst:             usbi_attach_device
        - Src:             'core.c:764,2'
          Dst:             usbi_hotplug_notification
    - functionName:    usbi_attach_device
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 751
      functionLinenumberEnd: 759
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          35
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - list_add
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:756,2'
          Dst:             usbi_mutex_lock
        - Src:             'core.c:757,2'
          Dst:             list_add
        - Src:             'core.c:758,2'
          Dst:             usbi_mutex_unlock
    - functionName:    usbi_alloc_device
      functionSourceFile: '/src/libusb/libusb/core.c'
      linkageType:     InternalLinkage
      functionLinenumber: 728
      functionLinenumberEnd: 748
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          56
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'core.c:730,54'
          Dst:             calloc
    - functionName:    parse_iad_array
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1394
      functionLinenumberEnd: 1466
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          311
      EdgeCount:       45
      CyclomaticComplexity: 13
      functionsReached:
        - calloc
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:1406,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:1416,4'
          Dst:             usbi_log
        - Src:             'descriptor.c:1421,4'
          Dst:             usbi_log
        - Src:             'descriptor.c:1432,59'
          Dst:             calloc
    - functionName:    clear_endpoint
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    clear_interface
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 170
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          123
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - clear_endpoint
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:159,6'
          Dst:             clear_endpoint
    - functionName:    parse_endpoint
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          361
      EdgeCount:       53
      CyclomaticComplexity: 16
      functionsReached:
        - ReadLittleEndian16
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:63,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:70,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:74,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:77,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:86,29'
          Dst:             ReadLittleEndian16
        - Src:             'descriptor.c:103,4'
          Dst:             usbi_log
        - Src:             'descriptor.c:107,4'
          Dst:             usbi_log
        - Src:             'descriptor.c:119,3'
          Dst:             usbi_log
    - functionName:    ReadLittleEndian16
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 38
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          19
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    parse_interface
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 334
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         68
      ICount:          581
      EdgeCount:       92
      CyclomaticComplexity: 26
      functionsReached:
        - calloc
        - clear_interface
        - parse_endpoint
        - realloc
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:195,4'
          Dst:             usbi_log
        - Src:             'descriptor.c:199,4'
          Dst:             usbi_log
        - Src:             'descriptor.c:204,4'
          Dst:             usbi_log
        - Src:             'descriptor.c:208,4'
          Dst:             usbi_log
        - Src:             'descriptor.c:214,54'
          Dst:             realloc
        - Src:             'descriptor.c:252,5'
          Dst:             usbi_log
        - Src:             'descriptor.c:258,5'
          Dst:             usbi_log
        - Src:             'descriptor.c:300,52'
          Dst:             calloc
        - Src:             'descriptor.c:308,9'
          Dst:             parse_endpoint
        - Src:             'descriptor.c:332,2'
          Dst:             clear_interface
    - functionName:    parse_configuration
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 355
      functionLinenumberEnd: 482
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         53
      ICount:          455
      EdgeCount:       71
      CyclomaticComplexity: 20
      functionsReached:
        - ReadLittleEndian16
        - calloc
        - clear_configuration
        - parse_interface
        - realloc
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:362,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:369,26'
          Dst:             ReadLittleEndian16
        - Src:             'descriptor.c:377,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:381,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:384,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:388,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:392,45'
          Dst:             calloc
        - Src:             'descriptor.c:408,5'
          Dst:             usbi_log
        - Src:             'descriptor.c:414,5'
          Dst:             usbi_log
        - Src:             'descriptor.c:428,4'
          Dst:             usbi_log
        - Src:             'descriptor.c:438,36'
          Dst:             realloc
        - Src:             'descriptor.c:450,7'
          Dst:             parse_interface
        - Src:             'descriptor.c:480,2'
          Dst:             clear_configuration
    - functionName:    clear_configuration
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 337
      functionLinenumberEnd: 351
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          74
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - clear_interface
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:342,4'
          Dst:             clear_interface
    - functionName:    libusb_get_interface_string
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1912
      functionLinenumberEnd: 1937
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - char
        - char
        - char
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          94
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - usbi_utf8_copy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:1936,9'
          Dst:             usbi_utf8_copy
    - functionName:    usbi_utf8_copy
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1619
      functionLinenumberEnd: 1656
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          184
      EdgeCount:       42
      CyclomaticComplexity: 12
      functionsReached:
        - strlen
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:1631,16'
          Dst:             strlen
        - Src:             'descriptor.c:1651,16'
          Dst:             strlen
    - functionName:    libusb_get_config_string
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1838
      functionLinenumberEnd: 1862
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          88
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - usbi_utf8_copy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:1861,9'
          Dst:             usbi_utf8_copy
    - functionName:    usbi_get_interface_string_index
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1771
      functionLinenumberEnd: 1797
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - char
        - char
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          151
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached:
        - get_config_descriptor_for_value
        - libusb_free_config_descriptor
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:1775,6'
          Dst:             get_config_descriptor_for_value
        - Src:             'descriptor.c:1795,2'
          Dst:             libusb_free_config_descriptor
    - functionName:    get_config_descriptor_for_value
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1742
      functionLinenumberEnd: 1746
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - libusb_get_active_config_descriptor
        - libusb_get_config_descriptor_by_value
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:1744,10'
          Dst:             libusb_get_active_config_descriptor
        - Src:             'descriptor.c:1745,9'
          Dst:             libusb_get_config_descriptor_by_value
    - functionName:    libusb_free_config_descriptor
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 710
      functionLinenumberEnd: 716
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          28
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - clear_configuration
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:714,2'
          Dst:             clear_configuration
    - functionName:    libusb_get_active_config_descriptor
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 583
      functionLinenumberEnd: 604
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          82
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - get_active_config_descriptor
        - libusb_cpu_to_le16
        - raw_desc_to_config
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:589,6'
          Dst:             get_active_config_descriptor
        - Src:             'descriptor.c:593,15'
          Dst:             libusb_cpu_to_le16
        - Src:             'descriptor.c:598,6'
          Dst:             get_active_config_descriptor
        - Src:             'descriptor.c:600,7'
          Dst:             raw_desc_to_config
    - functionName:    libusb_get_config_descriptor_by_value
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 670
      functionLinenumberEnd: 698
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          118
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - get_config_descriptor
        - libusb_get_config_descriptor
        - raw_desc_to_config
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:682,10'
          Dst:             raw_desc_to_config
        - Src:             'descriptor.c:685,2'
          Dst:             usbi_log
        - Src:             'descriptor.c:689,7'
          Dst:             get_config_descriptor
        - Src:             'descriptor.c:694,11'
          Dst:             libusb_get_config_descriptor
    - functionName:    raw_desc_to_config
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 486
      functionLinenumberEnd: 504
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          78
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - calloc
        - parse_configuration
        - usbi_log
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:487,80'
          Dst:             calloc
        - Src:             'descriptor.c:493,6'
          Dst:             parse_configuration
        - Src:             'descriptor.c:495,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:499,3'
          Dst:             usbi_log
    - functionName:    get_config_descriptor
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 528
      functionLinenumberEnd: 543
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          83
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - usbi_log
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:534,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:538,3'
          Dst:             usbi_log
    - functionName:    libusb_get_config_descriptor
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 624
      functionLinenumberEnd: 649
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          107
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - get_config_descriptor
        - libusb_cpu_to_le16
        - raw_desc_to_config
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:630,2'
          Dst:             usbi_log
        - Src:             'descriptor.c:634,6'
          Dst:             get_config_descriptor
        - Src:             'descriptor.c:638,15'
          Dst:             libusb_cpu_to_le16
        - Src:             'descriptor.c:643,6'
          Dst:             get_config_descriptor
        - Src:             'descriptor.c:645,7'
          Dst:             raw_desc_to_config
    - functionName:    libusb_cpu_to_le16
      functionSourceFile: '/src/libusb/libusb/./libusb.h'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_active_config_descriptor
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 508
      functionLinenumberEnd: 524
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          80
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - usbi_log
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:515,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:519,3'
          Dst:             usbi_log
    - functionName:    usbi_get_config_string_index
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1752
      functionLinenumberEnd: 1763
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          48
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - get_config_descriptor_for_value
        - libusb_free_config_descriptor
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:1756,6'
          Dst:             get_config_descriptor_for_value
        - Src:             'descriptor.c:1761,2'
          Dst:             libusb_free_config_descriptor
    - functionName:    libusb_get_device_string
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1697
      functionLinenumberEnd: 1736
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          161
      EdgeCount:       40
      CyclomaticComplexity: 12
      functionsReached:
        - usbi_utf8_copy
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:1735,9'
          Dst:             usbi_utf8_copy
    - functionName:    libusb_free_interface_association_descriptors
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1595
      functionLinenumberEnd: 1602
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          40
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_get_active_interface_association_descriptors
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1559
      functionLinenumberEnd: 1582
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          90
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - get_active_config_descriptor
        - libusb_cpu_to_le16
        - raw_desc_to_iad_array
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:1568,6'
          Dst:             get_active_config_descriptor
        - Src:             'descriptor.c:1572,15'
          Dst:             libusb_cpu_to_le16
        - Src:             'descriptor.c:1577,6'
          Dst:             get_active_config_descriptor
        - Src:             'descriptor.c:1579,7'
          Dst:             raw_desc_to_iad_array
    - functionName:    raw_desc_to_iad_array
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1470
      functionLinenumberEnd: 1487
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          62
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
        - parse_iad_array
        - usbi_log
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:1472,61'
          Dst:             calloc
        - Src:             'descriptor.c:1478,6'
          Dst:             parse_iad_array
        - Src:             'descriptor.c:1480,3'
          Dst:             usbi_log
    - functionName:    libusb_get_interface_association_descriptors
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1510
      functionLinenumberEnd: 1538
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          115
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - get_config_descriptor
        - libusb_cpu_to_le16
        - raw_desc_to_iad_array
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:1519,2'
          Dst:             usbi_log
        - Src:             'descriptor.c:1523,6'
          Dst:             get_config_descriptor
        - Src:             'descriptor.c:1527,15'
          Dst:             libusb_cpu_to_le16
        - Src:             'descriptor.c:1532,6'
          Dst:             get_config_descriptor
        - Src:             'descriptor.c:1534,7'
          Dst:             raw_desc_to_iad_array
    - functionName:    libusb_get_string_descriptor
      functionSourceFile: '/src/libusb/libusb/./libusb.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2280
      functionLinenumberEnd: 2283
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - char
        - short
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - libusb_control_transfer
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './libusb.h:2281,9'
          Dst:             libusb_control_transfer
    - functionName:    libusb_get_string_descriptor_ascii
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1334
      functionLinenumberEnd: 1389
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         56
      ICount:          324
      EdgeCount:       74
      CyclomaticComplexity: 20
      functionsReached:
        - libusb_cpu_to_le16
        - libusb_get_string_descriptor
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:1351,6'
          Dst:             libusb_get_string_descriptor
        - Src:             'descriptor.c:1355,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:1358,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:1360,11'
          Dst:             libusb_cpu_to_le16
        - Src:             'descriptor.c:1361,6'
          Dst:             libusb_get_string_descriptor
        - Src:             'descriptor.c:1367,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:1380,11'
          Dst:             libusb_cpu_to_le16
    - functionName:    libusb_free_platform_descriptor
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1316
      functionLinenumberEnd: 1318
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_get_platform_descriptor
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1270
      functionLinenumberEnd: 1304
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          132
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:1274,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:1279,3'
          Dst:             usbi_log
    - functionName:    libusb_free_container_id_descriptor
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1248
      functionLinenumberEnd: 1250
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_get_container_id_descriptor
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1210
      functionLinenumberEnd: 1236
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          107
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:1214,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:1219,3'
          Dst:             usbi_log
    - functionName:    libusb_free_ss_usb_device_capability_descriptor
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1190
      functionLinenumberEnd: 1192
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_free_ssplus_usb_device_capability_descriptor
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1173
      functionLinenumberEnd: 1175
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_get_ssplus_usb_device_capability_descriptor
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1096
      functionLinenumberEnd: 1158
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          289
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - ReadLittleEndian16
        - ReadLittleEndian32
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:1104,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:1109,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:1119,34'
          Dst:             ReadLittleEndian32
        - Src:             'descriptor.c:1120,43'
          Dst:             ReadLittleEndian16
        - Src:             'descriptor.c:1121,31'
          Dst:             ReadLittleEndian16
        - Src:             'descriptor.c:1140,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:1147,19'
          Dst:             ReadLittleEndian32
    - functionName:    ReadLittleEndian32
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          28
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_get_ss_usb_device_capability_descriptor
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1016
      functionLinenumberEnd: 1045
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          128
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - ReadLittleEndian16
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:1020,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:1025,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:1038,40'
          Dst:             ReadLittleEndian16
        - Src:             'descriptor.c:1041,38'
          Dst:             ReadLittleEndian16
    - functionName:    libusb_free_usb_2_0_extension_descriptor
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 995
      functionLinenumberEnd: 997
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_get_usb_2_0_extension_descriptor
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 958
      functionLinenumberEnd: 983
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          100
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - ReadLittleEndian32
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:962,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:967,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:979,37'
          Dst:             ReadLittleEndian32
    - functionName:    libusb_free_bos_descriptor
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 930
      functionLinenumberEnd: 939
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          53
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    parse_bos
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 793
      functionLinenumberEnd: 866
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          308
      EdgeCount:       44
      CyclomaticComplexity: 13
      functionsReached:
        - ReadLittleEndian16
        - calloc
        - libusb_free_bos_descriptor
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:800,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:807,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:811,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:814,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:819,41'
          Dst:             calloc
        - Src:             'descriptor.c:825,23'
          Dst:             ReadLittleEndian16
        - Src:             'descriptor.c:833,4'
          Dst:             usbi_log
        - Src:             'descriptor.c:839,4'
          Dst:             usbi_log
        - Src:             'descriptor.c:843,4'
          Dst:             usbi_log
        - Src:             'descriptor.c:845,4'
          Dst:             libusb_free_bos_descriptor
        - Src:             'descriptor.c:848,4'
          Dst:             usbi_log
        - Src:             'descriptor.c:855,4'
          Dst:             libusb_free_bos_descriptor
    - functionName:    libusb_get_descriptor
      functionSourceFile: '/src/libusb/libusb/./libusb.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2258
      functionLinenumberEnd: 2261
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - char
        - char
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - libusb_control_transfer
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './libusb.h:2259,9'
          Dst:             libusb_control_transfer
    - functionName:    libusb_get_bos_descriptor
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 881
      functionLinenumberEnd: 920
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          165
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - calloc
        - libusb_cpu_to_le16
        - libusb_get_descriptor
        - parse_bos
        - usbi_log
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:890,6'
          Dst:             libusb_get_descriptor
        - Src:             'descriptor.c:893,4'
          Dst:             usbi_log
        - Src:             'descriptor.c:897,3'
          Dst:             usbi_log
        - Src:             'descriptor.c:902,12'
          Dst:             libusb_cpu_to_le16
        - Src:             'descriptor.c:903,2'
          Dst:             usbi_log
        - Src:             'descriptor.c:905,24'
          Dst:             calloc
        - Src:             'descriptor.c:909,6'
          Dst:             libusb_get_descriptor
        - Src:             'descriptor.c:912,4'
          Dst:             usbi_log
        - Src:             'descriptor.c:913,7'
          Dst:             parse_bos
        - Src:             'descriptor.c:915,3'
          Dst:             usbi_log
    - functionName:    libusb_free_ss_endpoint_companion_descriptor
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 786
      functionLinenumberEnd: 788
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_get_ss_endpoint_companion_descriptor
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 735
      functionLinenumberEnd: 774
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          179
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - ReadLittleEndian16
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:746,5'
          Dst:             usbi_log
        - Src:             'descriptor.c:754,4'
          Dst:             usbi_log
        - Src:             'descriptor.c:758,4'
          Dst:             usbi_log
        - Src:             'descriptor.c:770,35'
          Dst:             ReadLittleEndian16
    - functionName:    libusb_get_device_descriptor
      functionSourceFile: '/src/libusb/libusb/descriptor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 559
      functionLinenumberEnd: 564
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          23
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - usbi_log
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'descriptor.c:560,2'
          Dst:             usbi_log
    - functionName:    libusb_hotplug_get_user_data
      functionSourceFile: '/src/libusb/libusb/hotplug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 471
      functionLinenumberEnd: 493
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          87
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - libusb_has_capability
        - usbi_get_context
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'hotplug.c:476,7'
          Dst:             libusb_has_capability
        - Src:             'hotplug.c:479,2'
          Dst:             usbi_log
        - Src:             'hotplug.c:481,8'
          Dst:             usbi_get_context
        - Src:             'hotplug.c:483,2'
          Dst:             usbi_mutex_lock
        - Src:             'hotplug.c:490,2'
          Dst:             usbi_mutex_unlock
    - functionName:    usbi_get_context
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 467
      functionLinenumberEnd: 480
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          59
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - usbi_log
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             './libusbi.h:476,4'
          Dst:             usbi_log
    - functionName:    usbi_mutex_lock
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_mutex_lock
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:49,2'
          Dst:             pthread_mutex_lock
        - Src:             './os/threads_posix.h:49,2'
          Dst:             __assert_fail
    - functionName:    usbi_mutex_unlock
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_mutex_unlock
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:53,2'
          Dst:             pthread_mutex_unlock
        - Src:             './os/threads_posix.h:53,2'
          Dst:             __assert_fail
    - functionName:    libusb_hotplug_deregister_callback
      functionSourceFile: '/src/libusb/libusb/hotplug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 433
      functionLinenumberEnd: 466
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          125
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - libusb_has_capability
        - usbi_get_context
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
        - usbi_signal_event
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hotplug.c:438,7'
          Dst:             libusb_has_capability
        - Src:             'hotplug.c:441,2'
          Dst:             usbi_log
        - Src:             'hotplug.c:443,8'
          Dst:             usbi_get_context
        - Src:             'hotplug.c:445,2'
          Dst:             usbi_mutex_lock
        - Src:             'hotplug.c:454,2'
          Dst:             usbi_mutex_unlock
        - Src:             'hotplug.c:459,3'
          Dst:             usbi_mutex_lock
        - Src:             'hotplug.c:463,4'
          Dst:             usbi_signal_event
        - Src:             'hotplug.c:464,3'
          Dst:             usbi_mutex_unlock
    - functionName:    list_add
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 222
      functionLinenumberEnd: 228
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          28
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_hotplug_register_callback
      functionSourceFile: '/src/libusb/libusb/hotplug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 429
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         58
      ICount:          367
      EdgeCount:       79
      CyclomaticComplexity: 23
      functionsReached:
        - calloc
        - libusb_free_device_list
        - libusb_get_device_list
        - libusb_has_capability
        - libusb_hotplug_deregister_callback
        - list_add
        - usbi_get_context
        - usbi_hotplug_match_cb
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'hotplug.c:363,7'
          Dst:             libusb_has_capability
        - Src:             'hotplug.c:366,8'
          Dst:             usbi_get_context
        - Src:             'hotplug.c:368,47'
          Dst:             calloc
        - Src:             'hotplug.c:388,2'
          Dst:             usbi_mutex_lock
        - Src:             'hotplug.c:399,2'
          Dst:             list_add
        - Src:             'hotplug.c:401,2'
          Dst:             usbi_mutex_unlock
        - Src:             'hotplug.c:403,2'
          Dst:             usbi_log
        - Src:             'hotplug.c:410,9'
          Dst:             libusb_get_device_list
        - Src:             'hotplug.c:412,4'
          Dst:             libusb_hotplug_deregister_callback
        - Src:             'hotplug.c:417,4'
          Dst:             usbi_hotplug_match_cb
        - Src:             'hotplug.c:422,3'
          Dst:             libusb_free_device_list
    - functionName:    usbi_hotplug_match_cb
      functionSourceFile: '/src/libusb/libusb/hotplug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 240
      functionLinenumberEnd: 261
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          148
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_hotplug_process
      functionSourceFile: '/src/libusb/libusb/hotplug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 296
      functionLinenumberEnd: 342
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          197
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - libusb_unref_device
        - list_del
        - usbi_hotplug_match_cb
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hotplug.c:301,2'
          Dst:             usbi_mutex_lock
        - Src:             'hotplug.c:312,4'
          Dst:             usbi_mutex_unlock
        - Src:             'hotplug.c:313,8'
          Dst:             usbi_hotplug_match_cb
        - Src:             'hotplug.c:314,4'
          Dst:             usbi_mutex_lock
        - Src:             'hotplug.c:317,5'
          Dst:             list_del
        - Src:             'hotplug.c:325,4'
          Dst:             libusb_unref_device
        - Src:             'hotplug.c:327,3'
          Dst:             list_del
        - Src:             'hotplug.c:334,4'
          Dst:             usbi_log
        - Src:             'hotplug.c:336,4'
          Dst:             list_del
        - Src:             'hotplug.c:341,2'
          Dst:             usbi_mutex_unlock
    - functionName:    list_del
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 241
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          28
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    list_add_tail
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 232
      functionLinenumberEnd: 238
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          28
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_hotplug_notification
      functionSourceFile: '/src/libusb/libusb/hotplug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 265
      functionLinenumberEnd: 293
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          87
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - calloc
        - list_add_tail
        - usbi_log
        - usbi_mutex_lock
        - usbi_mutex_unlock
        - usbi_signal_event
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'hotplug.c:275,39'
          Dst:             calloc
        - Src:             'hotplug.c:277,3'
          Dst:             usbi_log
        - Src:             'hotplug.c:286,2'
          Dst:             usbi_mutex_lock
        - Src:             'hotplug.c:289,2'
          Dst:             list_add_tail
        - Src:             'hotplug.c:291,3'
          Dst:             usbi_signal_event
        - Src:             'hotplug.c:292,2'
          Dst:             usbi_mutex_unlock
    - functionName:    usbi_mutex_destroy
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_mutex_destroy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:62,2'
          Dst:             pthread_mutex_destroy
        - Src:             './os/threads_posix.h:62,2'
          Dst:             __assert_fail
    - functionName:    usbi_recursively_remove_parents
      functionSourceFile: '/src/libusb/libusb/hotplug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 167
      functionLinenumberEnd: 185
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          98
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - list_del
        - usbi_recursively_remove_parents
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'hotplug.c:177,4'
          Dst:             __assert_fail
        - Src:             'hotplug.c:179,5'
          Dst:             list_del
        - Src:             'hotplug.c:183,3'
          Dst:             usbi_recursively_remove_parents
    - functionName:    usbi_hotplug_exit
      functionSourceFile: '/src/libusb/libusb/hotplug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 236
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         25
      ICount:          186
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - libusb_has_capability
        - libusb_unref_device
        - list_del
        - usbi_mutex_destroy
        - usbi_mutex_lock
        - usbi_mutex_unlock
        - usbi_recursively_remove_parents
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'hotplug.c:194,7'
          Dst:             libusb_has_capability
        - Src:             'hotplug.c:202,3'
          Dst:             list_del
        - Src:             'hotplug.c:213,4'
          Dst:             libusb_unref_device
        - Src:             'hotplug.c:215,3'
          Dst:             list_del
        - Src:             'hotplug.c:219,2'
          Dst:             usbi_mutex_lock
        - Src:             'hotplug.c:226,4'
          Dst:             list_del
        - Src:             'hotplug.c:229,3'
          Dst:             usbi_recursively_remove_parents
        - Src:             'hotplug.c:231,3'
          Dst:             libusb_unref_device
        - Src:             'hotplug.c:233,2'
          Dst:             usbi_mutex_unlock
        - Src:             'hotplug.c:235,2'
          Dst:             usbi_mutex_destroy
    - functionName:    list_init
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_mutex_init
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 46
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       6
      CyclomaticComplexity: 2
      functionsReached:
        - __assert_fail
        - pthread_mutex_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:45,2'
          Dst:             pthread_mutex_init
        - Src:             './os/threads_posix.h:45,2'
          Dst:             __assert_fail
    - functionName:    usbi_hotplug_init
      functionSourceFile: '/src/libusb/libusb/hotplug.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - libusb_has_capability
        - list_init
        - usbi_mutex_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'hotplug.c:157,7'
          Dst:             libusb_has_capability
        - Src:             'hotplug.c:160,2'
          Dst:             usbi_mutex_init
        - Src:             'hotplug.c:161,2'
          Dst:             list_init
    - functionName:    libusb_fill_bulk_transfer
      functionSourceFile: '/src/libusb/libusb/./libusb.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2040
      functionLinenumberEnd: 2049
      functionDepth:   0
      returnType:      void
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          51
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    libusb_cpu_to_le16
      functionSourceFile: '/src/libusb/libusb/./libusb.h'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    usbi_tls_key_get
      functionSourceFile: '/src/libusb/libusb/./os/threads_posix.h'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - pthread_getspecific
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './os/threads_posix.h:94,9'
          Dst:             pthread_getspecific
    - functionName:    libusb_interrupt_transfer
      functionSourceFile: '/src/libusb/libusb/sync.c'
      linkageType:     InternalLinkage
      functionLinenumber: 341
      functionLinenumberEnd: 343
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - do_sync_bulk_transfer
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sync.c:342,9'
          Dst:             do_sync_bulk_transfer
    - functionName:    do_sync_bulk_transfer
      functionSourceFile: '/src/libusb/libusb/sync.c'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 237
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
        - int
        - 'N/A'
        - int
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          192
      EdgeCount:       37
      CyclomaticComplexity: 7
      functionsReached:
        - __assert_fail
        - libusb_alloc_transfer
        - libusb_fill_bulk_transfer
        - libusb_free_transfer
        - libusb_submit_transfer
        - sync_transfer_cb
        - sync_transfer_wait_for_completion
        - usbi_handling_events
        - usbi_log
      functionUses:    2
      BranchProfiles:
        - Branch String:   'sync.c:209,2'
          Branch Sides:    []
      Callsites:
        - Src:             'sync.c:185,6'
          Dst:             usbi_handling_events
        - Src:             'sync.c:188,13'
          Dst:             libusb_alloc_transfer
        - Src:             'sync.c:192,2'
          Dst:             libusb_fill_bulk_transfer
        - Src:             'sync.c:192,2'
          Dst:             sync_transfer_cb
        - Src:             'sync.c:196,6'
          Dst:             libusb_submit_transfer
        - Src:             'sync.c:198,3'
          Dst:             libusb_free_transfer
        - Src:             'sync.c:202,2'
          Dst:             sync_transfer_wait_for_completion
        - Src:             'sync.c:205,3'
          Dst:             __assert_fail
        - Src:             'sync.c:230,3'
          Dst:             usbi_log
        - Src:             'sync.c:235,2'
          Dst:             libusb_free_transfer
    - functionName:    usbi_handling_events
      functionSourceFile: '/src/libusb/libusb/./libusbi.h'
      linkageType:     InternalLinkage
      functionLinenumber: 505
      functionLinenumberEnd: 506
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - usbi_tls_key_get
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             './libusbi.h:506,9'
          Dst:             usbi_tls_key_get
    - functionName:    sync_transfer_cb
      functionSourceFile: '/src/libusb/libusb/sync.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          45
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - usbi_log
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'sync.c:40,2'
          Dst:             usbi_log
    - functionName:    sync_transfer_wait_for_completion
      functionSourceFile: '/src/libusb/libusb/sync.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          96
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - libusb_cancel_transfer
        - libusb_error_name
        - libusb_handle_events_completed
        - usbi_log
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'sync.c:57,7'
          Dst:             libusb_handle_events_completed
        - Src:             'sync.c:61,4'
          Dst:             libusb_error_name
        - Src:             'sync.c:61,4'
          Dst:             usbi_log
        - Src:             'sync.c:63,4'
          Dst:             libusb_cancel_transfer
    - functionName:    libusb_bulk_transfer
      functionSourceFile: '/src/libusb/libusb/sync.c'
      linkageType:     InternalLinkage
      functionLinenumber: 287
      functionLinenumberEnd: 289
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - char
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          30
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - do_sync_bulk_transfer
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'sync.c:288,9'
          Dst:             do_sync_bulk_transfer
    - functionName:    libusb_control_transfer_get_data
      functionSourceFile: '/src/libusb/libusb/./libusb.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1903
      functionLinenumberEnd: 1904
      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:    libusb_fill_control_transfer
      functionSourceFile: '/src/libusb/libusb/./libusb.h'
      linkageType:     InternalLinkage
      functionLinenumber: 2001
      functionLinenumberEnd: 2021
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          82
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - libusb_cpu_to_le16
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './libusb.h:2010,6'
          Dst:             libusb_cpu_to_le16
    - functionName:    libusb_fill_control_setup
      functionSourceFile: '/src/libusb/libusb/./libusb.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1951
      functionLinenumberEnd: 1958
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - char
        - char
        - short
        - short
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          49
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - libusb_cpu_to_le16
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './libusb.h:1955,18'
          Dst:             libusb_cpu_to_le16
        - Src:             './libusb.h:1956,18'
          Dst:             libusb_cpu_to_le16
        - Src:             './libusb.h:1957,19'
          Dst:             libusb_cpu_to_le16
    - functionName:    libusb_control_transfer
      functionSourceFile: '/src/libusb/libusb/sync.c'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - char
        - char
        - short
        - short
        - 'N/A'
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          231
      EdgeCount:       41
      CyclomaticComplexity: 9
      functionsReached:
        - libusb_alloc_transfer
        - libusb_control_transfer_get_data
        - libusb_fill_control_setup
        - libusb_fill_control_transfer
        - libusb_free_transfer
        - libusb_submit_transfer
        - sync_transfer_cb
        - sync_transfer_wait_for_completion
        - usbi_handling_events
        - usbi_log
      functionUses:    3
      BranchProfiles:
        - Branch String:   'sync.c:147,2'
          Branch Sides:    []
      Callsites:
        - Src:             'sync.c:114,6'
          Dst:             usbi_handling_events
        - Src:             'sync.c:117,13'
          Dst:             libusb_alloc_transfer
        - Src:             'sync.c:123,3'
          Dst:             libusb_free_transfer
        - Src:             'sync.c:127,2'
          Dst:             libusb_fill_control_setup
        - Src:             'sync.c:132,2'
          Dst:             libusb_fill_control_transfer
        - Src:             'sync.c:132,2'
          Dst:             sync_transfer_cb
        - Src:             'sync.c:135,6'
          Dst:             libusb_submit_transfer
        - Src:             'sync.c:137,3'
          Dst:             libusb_free_transfer
        - Src:             'sync.c:141,2'
          Dst:             sync_transfer_wait_for_completion
        - Src:             'sync.c:144,16'
          Dst:             libusb_control_transfer_get_data
        - Src:             'sync.c:168,3'
          Dst:             usbi_log
        - Src:             'sync.c:173,2'
          Dst:             libusb_free_transfer
...
